.heart-rate-settings{display:grid;gap:14px;padding:15px;border:1px solid #284a72;border-radius:13px;background:#08182e;box-shadow:inset 0 1px rgba(255,255,255,.05)}
.heart-rate-settings[hidden]{display:none}.heart-rate-head,.heart-rate-head>span,.heart-rate-overlay-settings header,.heart-rate-log header{display:flex;align-items:center;justify-content:space-between;gap:12px}.heart-rate-head>span{justify-content:flex-start}.heart-rate-head i{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ff4b96;border-radius:50%;color:#ff68a9;background:#48142d;font-style:normal;font-size:20px;box-shadow:0 0 18px #ff2c8444}.heart-rate-head strong,.heart-rate-overlay-settings strong,.heart-rate-log strong{display:block;color:#f3f8ff;font-size:14px}.heart-rate-head small,.heart-rate-overlay-settings small,.heart-rate-log small{display:block;margin-top:3px;color:#adbed2;font-size:11px}.heart-rate-head>b{padding:6px 10px;border:1px solid #46617e;border-radius:99px;color:#a9bad0;background:#0a1628;font:800 10px "DM Mono",monospace}.heart-rate-head>b[data-state=connected]{border-color:#24dba7;color:#68f0c5;background:#0b392f}.heart-rate-head>b[data-state=connecting],.heart-rate-head>b[data-state=waiting]{border-color:#30cce9;color:#73e8fa}.heart-rate-head>b[data-state=error]{border-color:#e55171;color:#ff91a7;background:#391622}
.heart-rate-connection{display:grid;grid-template-columns:1fr auto;gap:11px;padding:13px;border:1px solid #23466f;border-radius:11px;background:#07162c}.heart-rate-connection label{display:grid;gap:6px;color:#b7c6d8;font-size:11px;font-weight:700}.heart-rate-connection .wide{grid-column:1/-1}.heart-rate-connection input[type=password]{height:40px;padding:0 11px;border:1px solid #315a85;border-radius:8px;color:#f1f7ff;background:#0b1b35}.heart-rate-enable{display:flex!important;align-items:center;gap:9px}.heart-rate-enable input{width:19px;height:19px;accent-color:#2addc8}.heart-rate-enable span strong,.heart-rate-enable span small{display:block}.heart-rate-enable span small{margin-top:2px;color:#91a7bf;font-weight:500}.heart-rate-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.heart-rate-actions button,.heart-rate-live button,.heart-rate-overlay-settings button,.heart-rate-log button,.heart-rate-log a{height:36px;padding:0 12px;border:1px solid #32689b;border-radius:8px;color:#dcecff;background:#0c2850;font:800 11px Manrope;text-decoration:none;cursor:pointer}.heart-rate-actions .primary,.heart-rate-overlay-settings header button{border-color:#22ccd9;color:#031b24;background:#37d9e3}.heart-rate-actions .danger,.heart-rate-log .danger{border-color:#7a3950;color:#ff9fb2;background:#351827}.heart-rate-connection>p{grid-column:1/-1;margin:0;color:#aebfd3;font-size:11px}
.heart-rate-live{display:grid;grid-template-columns:auto auto auto 1fr auto auto;align-items:center;gap:10px;padding:17px;border:1px solid #69365d;border-radius:13px;background:radial-gradient(circle at 12% 50%,#43152e,#09182f 42%);box-shadow:inset 0 1px #ffffff12}.heart-rate-pulse{color:#ff4d98;font-size:35px;filter:drop-shadow(0 0 9px #ff2d88);animation:heartRatePulse 1s ease-in-out infinite}.heart-rate-live>strong{min-width:75px;color:#fff;font:900 42px/1 "DM Mono",monospace}.heart-rate-live>em{align-self:end;margin-bottom:6px;color:#ff8abb;font:800 12px Manrope;font-style:normal}.heart-rate-live dl{display:flex;justify-content:center;gap:9px;margin:0}.heart-rate-live dl div{min-width:74px;padding:8px 10px;border:1px solid #274a74;border-radius:9px;background:#07162c;text-align:center}.heart-rate-live dt{color:#8fa6bf;font-size:9px;text-transform:uppercase}.heart-rate-live dd{margin:3px 0 0;color:#eaf5ff;font:800 15px "DM Mono",monospace}.heart-rate-live>label{display:grid;gap:4px;color:#9fb3c9;font-size:9px;text-transform:uppercase}.heart-rate-live input{width:78px;height:35px;padding:0 8px;border:1px solid #315a85;border-radius:8px;color:#fff;background:#07162c}.heart-rate-live.offline .heart-rate-pulse{animation:none;color:#67758b;filter:none}@keyframes heartRatePulse{0%,100%{transform:scale(.9)}20%{transform:scale(1.15)}35%{transform:scale(.96)}50%{transform:scale(1.09)}}
.heart-rate-overlay-settings,.heart-rate-log{display:grid;gap:12px;padding:13px;border:1px solid #23466f;border-radius:11px;background:#07162c}.heart-rate-overlay-url{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:7px}.heart-rate-overlay-url input{min-width:0;height:38px;padding:0 10px;border:1px solid #315a85;border-radius:8px;color:#cfe7ff;background:#091b36}.heart-rate-overlay-grid{display:grid;grid-template-columns:1.4fr repeat(3,.65fr) 1fr 1fr;gap:9px}.heart-rate-overlay-grid label{display:grid;gap:6px;color:#aebfd4;font-size:10px;font-weight:700}.heart-rate-overlay-grid input{width:100%;height:38px;padding:4px 8px;border:1px solid #315a85;border-radius:8px;color:#fff;background:#091b36}.heart-rate-overlay-grid input[type=range]{height:22px;padding:0;accent-color:#ff4b96}.heart-rate-overlay-grid output{color:#ff8abb;font:700 10px "DM Mono",monospace}.heart-rate-overlay-options{display:flex;flex-wrap:wrap;gap:16px}.heart-rate-overlay-options label{display:flex;align-items:center;gap:7px;color:#c7d4e4;font-size:11px}.heart-rate-overlay-options input{width:17px;height:17px;accent-color:#ff4b96}
.heart-rate-log header>div{display:flex;gap:7px}.heart-rate-log a{display:grid;place-items:center}.heart-rate-log-head,.heart-rate-log-row{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:8px;align-items:center}.heart-rate-log-head{padding:0 9px;color:#8fa6bf;font:700 9px "DM Mono",monospace;text-transform:uppercase}.heart-rate-log-rows{display:grid;gap:5px;max-height:230px;overflow:auto}.heart-rate-log-rows>p{margin:0;padding:22px;color:#91a6be;text-align:center}.heart-rate-log-row{padding:8px 9px;border:1px solid #1b3a61;border-radius:8px;color:#dfeaf6;background:#091a34;font-size:11px}.heart-rate-log-row b{color:#ff76ae;font:800 14px "DM Mono",monospace}.heart-rate-note{margin:0;color:#92a7c0;font-size:10px;line-height:1.55}.heart-rate-note code{color:#68e6f3}
@media(max-width:900px){.heart-rate-live{grid-template-columns:auto auto auto 1fr}.heart-rate-live dl{grid-column:1/-1}.heart-rate-overlay-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.heart-rate-connection,.heart-rate-live,.heart-rate-overlay-grid{grid-template-columns:1fr}.heart-rate-actions{justify-content:flex-start}.heart-rate-overlay-url{grid-template-columns:1fr 1fr}.heart-rate-overlay-url input{grid-column:1/-1}.heart-rate-live{text-align:center}.heart-rate-live dl{flex-wrap:wrap}.heart-rate-live>label{justify-items:center}.heart-rate-head,.heart-rate-overlay-settings header,.heart-rate-log header{align-items:flex-start;flex-direction:column}.heart-rate-log header>div{flex-wrap:wrap}}
.heart-rate-pulse{animation-duration:var(--heart-beat,1s)}
.pulsoid-authorize{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #28577e;border-radius:12px;background:linear-gradient(135deg,#0b2342,#08172d)}.pulsoid-authorize>div:first-child strong,.pulsoid-authorize>div:first-child small{display:block}.pulsoid-authorize>div:first-child strong{color:#f2f8ff;font-size:14px}.pulsoid-authorize>div:first-child small{margin-top:4px;color:#b5c6d9;font-size:11px}.pulsoid-authorize>button,.pulsoid-authorization-progress button,.pulsoid-authorization-progress a{min-height:38px;padding:0 14px;border:1px solid #32cddd;border-radius:8px;color:#05212a;background:#38dbe5;font:800 11px Manrope;cursor:pointer;text-decoration:none}.pulsoid-authorize>button:disabled{opacity:.5;cursor:not-allowed}.pulsoid-authorization-progress{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:12px;border:1px solid #3a6690;border-radius:10px;background:#07162b}.pulsoid-authorization-progress[hidden]{display:none}.pulsoid-authorization-progress span small,.pulsoid-authorization-progress span strong{display:block}.pulsoid-authorization-progress span small{color:#8fa8c1;font-size:9px;text-transform:uppercase}.pulsoid-authorization-progress span strong{margin-top:3px;color:#6aebf4;font:800 13px "DM Mono",monospace}.pulsoid-authorization-progress p{margin:0;color:#c1cfde;font-size:11px}.pulsoid-authorization-progress a{display:grid;place-items:center}.pulsoid-authorization-progress button{border-color:#46617e;color:#d7e4f2;background:#10233e}.pulsoid-manual-token summary{color:#aebfd3;font-size:11px;cursor:pointer}.pulsoid-manual-token label{margin-top:10px}.pulsoid-manual-token input{width:100%}@media(max-width:760px){.pulsoid-authorize,.pulsoid-authorization-progress{grid-template-columns:1fr}.pulsoid-authorize>button{width:100%}}
.pulsoid-authorize .pulsoid-config-warning{margin-top:8px!important;color:#ffba72!important}.pulsoid-config-warning[hidden]{display:none!important}
.heart-rate-provider-select{display:grid;grid-template-columns:minmax(220px,340px) 1fr;align-items:end;gap:14px;padding:13px;border:1px solid #294d74;border-radius:11px;background:#07162c}.heart-rate-provider-select label{display:grid;gap:6px;color:#b8c9da;font-size:11px;font-weight:800}.heart-rate-provider-select select{height:40px;padding:0 38px 0 11px;border:1px solid #3371a1;border-radius:8px;color:#eef8ff;background:#0b2547;font:800 12px Manrope}.heart-rate-provider-select p{margin:0 0 3px;color:#a9bdd2;font-size:11px;line-height:1.5}.direct-heart-rate-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid #287f86;border-radius:12px;background:linear-gradient(135deg,#082d38,#08172d);box-shadow:inset 0 1px #ffffff0d}.direct-heart-rate-panel[hidden],.pulsoid-heart-rate-panel[hidden]{display:none}.direct-heart-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #2be0dc;border-radius:50%;color:#74fff3;background:#073b43;font-size:27px;box-shadow:0 0 18px #16d9d144}.direct-heart-rate-panel strong,.direct-heart-rate-panel small,.direct-heart-rate-panel b{display:block}.direct-heart-rate-panel strong{color:#f0fbff;font-size:14px}.direct-heart-rate-panel small{margin-top:4px;color:#b3c8d7;font-size:11px}.direct-heart-rate-panel b{margin-top:7px;color:#58eae3;font:800 10px "DM Mono",monospace}.direct-heart-rate-panel>div:last-of-type{display:flex;gap:8px}.direct-heart-rate-panel button{height:38px;padding:0 13px;border:1px solid #34698e;border-radius:8px;color:#dcecff;background:#0c2948;font:800 11px Manrope;cursor:pointer}.direct-heart-rate-panel button.primary{border-color:#22c9ca;color:#04262b;background:#48d8d7}.direct-heart-rate-panel button:disabled{opacity:.5;cursor:not-allowed}.direct-heart-rate-panel>p{grid-column:2/-1;margin:0;color:#91adbf;font-size:10px}.pulsoid-heart-rate-panel{display:grid;gap:14px}@media(max-width:760px){.heart-rate-provider-select,.direct-heart-rate-panel{grid-template-columns:1fr}.direct-heart-icon{display:none}.direct-heart-rate-panel>p{grid-column:1}.direct-heart-rate-panel>div:last-of-type{flex-wrap:wrap}}
.heart-rate-reset-settings{display:grid;gap:11px;padding:13px;border:1px solid #285176;border-radius:11px;background:#07162c}
.heart-rate-reset-settings header strong,.heart-rate-reset-settings header small{display:block}
.heart-rate-reset-settings header strong{color:#edf7ff;font-size:13px}
.heart-rate-reset-settings header small{margin-top:3px;color:#9fb4ca;font-size:10px}
.heart-rate-reset-settings>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.heart-rate-reset-settings label{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:5px 10px;padding:11px;border:1px solid #23466d;border-radius:9px;color:#c4d4e5;background:#091b34;font-size:11px;font-weight:800}
.heart-rate-reset-settings input{grid-column:2;grid-row:1/3;width:90px;height:38px;padding:0 9px;border:1px solid #3973a0;border-radius:8px;color:#fff;background:#06152b;font:800 13px "DM Mono",monospace}
.heart-rate-reset-settings label small{grid-column:1;color:#8fa7bf;font-size:9px;font-weight:600}
.heart-rate-reset-settings>p{margin:0;color:#61dfeb;font:700 10px "DM Mono",monospace}
@media(max-width:700px){.heart-rate-reset-settings>div{grid-template-columns:1fr}}
.heart-rate-simulator{display:grid;gap:12px;padding:14px;border:1px solid #285176;border-radius:11px;background:#07162c}.heart-rate-simulator header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.heart-rate-simulator header span strong,.heart-rate-simulator header span small{display:block}.heart-rate-simulator header span strong{color:#edf7ff;font-size:13px}.heart-rate-simulator header span small{margin-top:3px;color:#9fb4ca;font-size:10px}.heart-rate-simulator header>b{padding:5px 8px;border:1px solid #36516d;border-radius:999px;color:#9fb4ca;background:#0b1b31;font:800 9px "DM Mono",monospace;letter-spacing:.08em}.heart-rate-simulator header>b[data-state="running"]{border-color:#1ad9e5;color:#85faff;background:#08363e;box-shadow:0 0 14px #19d9e555;animation:heartSimulatorBadge 1.3s ease-in-out infinite}.heart-rate-simulator-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px}.heart-rate-simulator-grid label{display:grid;gap:5px;color:#adc2d8;font-size:10px;font-weight:800}.heart-rate-simulator-grid input{width:100%;height:38px;padding:0 10px;border:1px solid #3973a0;border-radius:8px;color:#fff;background:#06152b;font:800 13px "DM Mono",monospace}.heart-rate-simulator-grid label:last-child{grid-template-columns:1fr auto}.heart-rate-simulator-grid label:last-child input{grid-column:1/-1}.heart-rate-simulator-grid label small{color:#829bb5;font-size:9px}.heart-rate-simulator-actions{display:flex;align-items:center;gap:8px}.heart-rate-simulator-actions button{min-height:36px}.heart-rate-simulator-actions p{margin:0 0 0 4px;color:#69dfe9;font:700 10px "DM Mono",monospace}@keyframes heartSimulatorBadge{50%{box-shadow:0 0 22px #19d9e599;transform:scale(1.04)}}@media(max-width:800px){.heart-rate-simulator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heart-rate-simulator-actions{align-items:stretch;flex-wrap:wrap}.heart-rate-simulator-actions p{flex-basis:100%;margin:3px 0 0}}@media(max-width:480px){.heart-rate-simulator-grid{grid-template-columns:1fr}}
.heart-rate-overlay-presets{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.heart-rate-overlay-presets label{position:relative;display:grid;gap:4px;padding:8px;border:1px solid #264b72;border-radius:10px;color:#dce9f7;background:#081a33;cursor:pointer;transition:.2s ease}.heart-rate-overlay-presets label:has(input:checked){border-color:#4bddeb;background:#0a2845;box-shadow:0 0 0 1px #29cddd66,0 0 16px #22cddd22;transform:translateY(-2px)}.heart-rate-overlay-presets input{position:absolute;opacity:0;pointer-events:none}.heart-rate-overlay-presets label>strong{font-size:11px}.heart-rate-overlay-presets label>small{margin:0;color:#98aec4;font-size:9px}.preset-swatch{display:flex;align-items:center;justify-content:center;gap:6px;height:42px;overflow:hidden;border-radius:7px;color:#fff;background:#0b1425}.preset-swatch i{font-style:normal}.preset-swatch b{font:800 18px "DM Mono",monospace}.preset-swatch.minimal{border:1px solid #ffffff2b;background:#1119}.preset-swatch.minimal i{color:#ff567f}.preset-swatch.neon{border:1px solid #ff4b96;background:radial-gradient(circle,#3a1330,#08162d);box-shadow:inset 0 0 10px #ff3f8e44}.preset-swatch.neon i{color:#ff5da2;filter:drop-shadow(0 0 5px #ff3f8e)}.preset-swatch.gamer{border:1px solid #22e1f5;color:#72f4ff;background:repeating-linear-gradient(0deg,#061d31 0 4px,#08263e 5px);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.preset-swatch.cardio{justify-content:space-around;border:1px solid #33ff88;color:#5dff9b;background:#020b07}.preset-swatch.cardio i{font-size:23px}.preset-swatch.party{border:1px solid #fff6;background:linear-gradient(120deg,#ff2d8d,#7b3cff,#08cce7);box-shadow:inset 0 0 12px #fff5}.preset-swatch.party i{animation:heartRatePresetParty .7s ease-in-out infinite}@keyframes heartRatePresetParty{50%{transform:scale(1.3) rotate(-8deg)}}@media(max-width:1000px){.heart-rate-overlay-presets{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.heart-rate-overlay-presets{grid-template-columns:repeat(2,1fr)}}
.preset-swatch.horror{border:1px solid #3b3b3b;color:#ed1018;background:#080808;font-family:"Times New Roman",serif}.preset-swatch.horror i{color:#0b0b0b;font-size:22px;-webkit-text-stroke:2px #c8c8c8;filter:drop-shadow(2px 2px 0 #505050);transform:rotate(-7deg)}.preset-swatch.horror b{color:#ed1018;font:400 20px Nosifer,"Times New Roman",serif;letter-spacing:-3px;text-shadow:1px 0 #730000}
.preset-swatch.heartline{position:relative;border:1px solid #5c2026;color:#ff424b;background:#090909;box-shadow:inset 0 0 10px #ff202733}.preset-swatch.heartline i{font:400 22px "DM Mono",monospace;letter-spacing:-7px;text-shadow:0 0 5px #fff,0 0 8px #ff2027}.preset-swatch.heartline b{margin-left:4px;color:#fff;font-size:14px;text-shadow:0 0 5px #fff}
