@layer theme,base,components,utilities;@layer theme{:root,:host{--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;--spacing: .25rem;--radius-sm: .25rem;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-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}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.grid{display:grid}}:root{--bg: #0a0a0c;--surface: #131318;--surface-alt: #1a1a22;--border: rgba(255,255,255,.06);--text: #f0f0f5;--text-dim: #6b6b80;--text-muted: #44445a;--accent: #00e0b4;--accent-dim: rgba(0,224,180,.12);--accent-glow: rgba(0,224,180,.25);--red: #ff4466;--red-dim: rgba(255,68,102,.12);--red-glow: rgba(255,68,102,.25);--orange: #ff9940;--blue: #4488ff;--purple: #a78bfa;--radius: 16px;--radius-sm: 10px}*,*:before,*:after{box-sizing:border-box}html{height:100%}body{font-family:Outfit,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:-40%;left:-20%;width:80%;height:80%;background:radial-gradient(ellipse,rgba(0,224,180,.04) 0%,transparent 70%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;bottom:-30%;right:-20%;width:70%;height:70%;background:radial-gradient(ellipse,rgba(255,68,102,.03) 0%,transparent 70%);pointer-events:none;z-index:0}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}.dashboard{position:relative;z-index:1;width:100%;max-width:1080px;margin:0 auto;padding:32px 28px 56px}.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:28px;animation:fade-up .5s ease both}.logo{display:flex;align-items:center;gap:14px}.logo-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,var(--accent),#00b894);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px var(--accent-glow)}.logo-icon svg{width:24px;height:24px;fill:var(--bg)}.logo-text{font-size:22px;font-weight:700;letter-spacing:-.5px}.logo-text span{color:var(--accent)}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:100px;background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:500;color:var(--text-dim);cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.badge:not(.on):hover{border-color:#ffffff1f;color:var(--text)}.badge.on{background:var(--accent-dim);border-color:#00e0b426;color:var(--accent);cursor:default}.badge.on.hr{background:var(--red-dim);border-color:#ff446626;color:var(--red)}.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);transition:all .3s ease;flex-shrink:0}.badge.on .badge-dot{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse-dot 2s ease-in-out infinite}.badge.on.hr .badge-dot{background:var(--red);box-shadow:0 0 8px var(--red-glow)}.badge-close{display:none;align-items:center;background:none;border:none;padding:2px;cursor:pointer;color:inherit;opacity:.45;margin-left:4px;border-radius:4px;line-height:0;transition:opacity .2s}.badge-close svg{width:11px;height:11px}.badge-close:hover{opacity:1}.badge.on .badge-close{display:flex}.btn-emu{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:100px;background:#ff994014;border:1px dashed rgba(255,153,64,.35);font-family:inherit;font-size:12px;font-weight:500;color:var(--orange);cursor:pointer;transition:all .2s ease}.btn-emu:hover{background:#ff994029;border-color:#ff994099}.btn-emu svg{width:14px;height:14px;flex-shrink:0}.controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;animation:fade-up .5s ease .05s both;min-height:44px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.2px;border-radius:100px;cursor:pointer;border:none;transition:all .25s ease}.btn:active{transform:scale(.96)}.btn svg{width:18px;height:18px;flex-shrink:0}.btn-ghost{background:var(--surface);color:var(--text-dim);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-alt);color:var(--text);border-color:#ffffff1a}.btn-pause{background:#ff99401f;color:var(--orange);border:1px solid rgba(255,153,64,.2)}.btn-pause:hover{background:#ff994033;border-color:#ff994059}.btn-pause.is-paused{background:#ff994038;border-color:#ff994066}.btn-export{background:#a78bfa1f;color:var(--purple);border:1px solid rgba(167,139,250,.2)}.btn-export:hover{background:#a78bfa33}.rec-bar{display:none;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 20px;margin-bottom:24px;font-size:13px;font-weight:500;color:var(--text-dim)}.rec-bar.active{display:flex;border-color:#ff446626}.rec-bar.active.paused{border-color:#ff994040}.rec-dot{width:10px;height:10px;border-radius:50;flex-shrink:0;background:var(--red);box-shadow:0 0 10px var(--red-glow);animation:pulse-dot 1s ease-in-out infinite;border-radius:50%}.rec-bar.paused .rec-dot{background:var(--orange);box-shadow:0 0 8px #ff994066;animation:none}.rec-count{font-family:JetBrains Mono,monospace;color:var(--text)}.rec-pause-tag{display:none;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--orange)}.rec-bar.paused .rec-pause-tag{display:inline}.hero-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;animation:fade-up .5s ease .1s both}.hero-card{text-align:center;padding:36px 20px;position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .4s ease;animation:fade-up .35s ease both}.hero-card:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:260px;height:260px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .5s ease}.hero-card.active:before{opacity:1}.hero-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s ease;pointer-events:none}.hero-card:hover{border-color:#ffffff1f}.hero-card:hover:after{opacity:.5}.hero-card.color-green:before{background:radial-gradient(circle,rgba(0,224,180,.12) 0%,transparent 70%)}.hero-card.color-green.active{border-color:#00e0b42e}.hero-card.color-green.active .hero-value{color:var(--accent)}.hero-card.color-red:before{background:radial-gradient(circle,rgba(255,68,102,.12) 0%,transparent 70%)}.hero-card.color-red.active{border-color:#ff44662e}.hero-card.color-red.active .hero-value{color:var(--red)}.hero-card.color-blue:before{background:radial-gradient(circle,rgba(68,136,255,.12) 0%,transparent 70%)}.hero-card.color-blue.active{border-color:#4488ff2e}.hero-card.color-blue.active .hero-value{color:var(--blue)}.hero-card.color-orange:before{background:radial-gradient(circle,rgba(255,153,64,.12) 0%,transparent 70%)}.hero-card.color-orange.active{border-color:#ff99402e}.hero-card.color-orange.active .hero-value{color:var(--orange)}.hero-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:10px;position:relative}.hero-value{font-family:JetBrains Mono,monospace;font-size:72px;font-weight:600;letter-spacing:-3px;line-height:1;color:var(--text);transition:color .3s ease;position:relative}.hero-unit{font-size:16px;font-weight:400;color:var(--text-dim);margin-top:8px;letter-spacing:1px;position:relative}.heart-icon{display:inline-block;font-size:20px;margin-right:4px;vertical-align:middle}.heart-icon.beating{animation:heartbeat .8s ease-in-out infinite}.hr-zone{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.5px;opacity:0;transition:opacity .3s ease;position:relative}.hero-card.active .hr-zone{opacity:1}.hr-zone-dot{width:8px;height:8px;border-radius:50%;transition:background .3s ease}.card-actions{position:absolute;top:10px;right:10px;z-index:2;display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.hero-card:hover .card-actions,.hero-card:focus-within .card-actions,.metric-card:hover .card-actions,.metric-card:focus-within .card-actions{opacity:1}.action-btn{width:28px;height:28px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s ease;padding:0}.action-btn:hover{background:#ffffff1f;border-color:#ffffff2e;color:var(--text)}.action-btn svg{width:13px;height:13px;flex-shrink:0}.action-btn.hide-btn:hover{background:#ff44661f;border-color:#f463;color:var(--red)}.action-btn.settings-btn:hover{background:#4488ff1f;border-color:#48f3;color:var(--blue)}.metric-card .card-actions{top:8px;right:8px}.metric-card .action-btn{width:22px;height:22px;border-radius:6px}.metric-card .action-btn svg{width:11px;height:11px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;animation:fade-up .5s ease .15s both}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden;transition:border-color .3s ease;animation:fade-up .3s ease both}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s ease}.metric-card:hover{border-color:#ffffff1a}.metric-card:hover:before{opacity:.5}.metric-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;margin-bottom:10px}.metric-icon.green{background:var(--accent-dim);color:var(--accent)}.metric-icon.blue{background:#4488ff1f;color:var(--blue)}.metric-icon.orange{background:#ff99401f;color:var(--orange)}.metric-icon.red{background:var(--red-dim);color:var(--red)}.metric-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:6px}.metric-value{font-family:JetBrains Mono,monospace;font-size:24px;font-weight:600;letter-spacing:-1px;display:flex;align-items:baseline;gap:5px}.metric-unit{font-family:inherit;font-size:12px;font-weight:400;color:var(--text-muted)}.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;animation:fade-up .5s ease .2s both}.chart-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.chart-header{margin-bottom:14px}.chart-title{font-size:13px;font-weight:600;color:var(--text-dim);display:flex;align-items:center;gap:8px}.chart-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.chart-dot.green{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.chart-dot.red{background:var(--red);box-shadow:0 0 8px var(--red-glow)}.chart-canvas-wrap{position:relative;width:100%;height:200px}.chart-canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%}.debug-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-muted);margin-bottom:8px;-webkit-user-select:none;user-select:none;transition:color .2s}.debug-toggle:hover{color:var(--text-dim)}.debug-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 18px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);max-height:180px;overflow-y:auto;white-space:pre-wrap;line-height:1.7;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.hero-card--matrix{padding:28px 20px 24px}.dot-matrix-meta{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;margin-top:14px;position:relative}.dot-count{color:var(--accent);font-weight:600}.dot-dist{color:var(--text-dim)}.dot-grid{display:grid;grid-template-columns:repeat(20,minmax(0,16px));gap:4px;justify-content:center}.dot{aspect-ratio:1;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);transition:background .4s ease,box-shadow .4s ease,border-color .4s ease}.dot.filled{background:var(--accent);border-color:#00e0b473;box-shadow:0 0 7px var(--accent-glow)}.dot.next{background:#00e0b440;border-color:#00e0b466;animation:pulse-dot 1.2s ease-in-out infinite}@keyframes modal-in{0%{opacity:0}to{opacity:1}}@keyframes card-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay{position:fixed;inset:0;z-index:200;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;animation:modal-in .15s ease}.settings-card{background:var(--surface-alt);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:24px;width:360px;max-width:100%;box-shadow:0 24px 64px #0000008c;animation:card-in .2s ease}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.settings-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--text)}.settings-title svg{width:16px;height:16px;color:var(--blue);flex-shrink:0}.settings-close{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);border-radius:6px;line-height:0;transition:color .2s,background .2s}.settings-close:hover{color:var(--text);background:#ffffff12}.settings-close svg{width:16px;height:16px}.settings-field{margin-bottom:16px}.settings-label{display:block;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:8px}.settings-input{width:100%;padding:10px 14px;background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text);font-family:JetBrains Mono,monospace;font-size:20px;font-weight:600;text-align:center;outline:none;transition:border-color .2s;appearance:textfield}.settings-input:focus{border-color:#48f6}.settings-input::-webkit-inner-spin-button,.settings-input::-webkit-outer-spin-button{opacity:.4}.settings-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.preset-chip{padding:6px 14px;border-radius:100px;background:var(--surface);border:1px solid var(--border);font-family:inherit;font-size:13px;font-weight:500;color:var(--text-dim);cursor:pointer;transition:all .15s ease}.preset-chip:hover{border-color:#4488ff59;color:var(--blue);background:#4488ff14}.preset-chip.active{background:#4488ff26;border-color:#48f6;color:var(--blue)}.settings-info{font-size:13px;color:var(--text-muted);padding-top:16px;border-top:1px solid var(--border);text-align:center}.settings-info strong{color:var(--accent)}.workout-type-card{width:400px}.workout-type-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workout-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 20px;border-radius:var(--radius);border:2px solid transparent;cursor:pointer;font-family:inherit;transition:all .2s ease}.workout-btn:active{transform:scale(.97)}.workout-btn--run{background:#00e0b412;border-color:#00e0b426;color:var(--accent)}.workout-btn--run:hover{background:#00e0b424;border-color:#00e0b459;box-shadow:0 0 28px #00e0b41a}.workout-btn--walk{background:#4488ff12;border-color:#4488ff26;color:var(--blue)}.workout-btn--walk:hover{background:#4488ff24;border-color:#4488ff59;box-shadow:0 0 28px #4488ff1a}.workout-btn-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center}.workout-btn--run .workout-btn-icon{background:#00e0b41f}.workout-btn--walk .workout-btn-icon{background:#4488ff1f}.workout-btn-icon svg{width:36px;height:36px}.workout-btn-label{font-size:18px;font-weight:700;letter-spacing:.2px}.hidden-bar{margin-top:8px;margin-bottom:24px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:fade-up .3s ease both}.hidden-bar-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:12px}.hidden-chips{display:flex;flex-wrap:wrap;gap:8px}.restore-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--surface-alt);border:1px solid var(--border);border-radius:100px;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-dim);cursor:pointer;transition:all .2s ease}.restore-chip:hover{background:#00e0b414;border-color:#00e0b433;color:var(--accent)}.restore-chip svg{width:12px;height:12px;flex-shrink:0}@media(max-width:700px){.dashboard{padding:20px 16px 36px}.hero-row{grid-template-columns:1fr}.hero-value{font-size:56px}.charts-row{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:20px}.controls{gap:8px}.btn{padding:9px 16px;font-size:13px}.logo-text{font-size:18px}.dot-grid{grid-template-columns:repeat(20,minmax(0,12px));gap:3px}}
