.lf-disclaimer{background:#fef3c7;color:#78350f;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.6;margin-bottom:14px}[data-theme=dark] .lf-disclaimer{background:#2a200c;color:#fde68a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .lf-disclaimer{background:#2a200c;color:#fde68a}}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.card h2{font-size:16px;font-weight:600;margin-bottom:14px;color:var(--text)}.lf-input-card.card{padding:18px 20px;margin-bottom:14px}.lf-input-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.lf-input-card .form-row{display:flex;align-items:center;gap:10px;margin-bottom:0}.lf-input-card .form-row label{width:72px;flex-shrink:0;font-size:14px;color:var(--sub);font-weight:500}.iw{flex:1;display:flex;align-items:center;min-width:0;gap:0;height:42px;border:1.5px solid var(--border);border-radius:10px;background:var(--card-alt);overflow:hidden;transition:border-color .2s,background .2s}.iw:focus-within{border-color:var(--primary);background:var(--card)}.iw input[type=text],.iw input[type=number]{flex:1;min-width:0;height:100%;padding:0 6px 0 12px;border:none;outline:none;background:transparent;color:var(--text);font-size:15px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.iw input:last-child{padding-right:12px}.unit{font-size:13px;color:var(--sub);flex-shrink:0;padding:0 10px 0 2px;user-select:none}.lf-slider-wrap{gap:10px;border:none;background:transparent;height:auto;overflow:visible;padding:0}.lf-slider-wrap:focus-within{background:transparent;border:none}.lf-num-iw{flex:none;display:flex;align-items:center;height:38px;border:1.5px solid var(--border);border-radius:10px;background:var(--card-alt);overflow:hidden;transition:border-color .2s,background .2s}.lf-num-iw:focus-within{border-color:var(--primary);background:var(--card)}.lf-num-iw input[type=number]{width:52px;height:100%;padding:0 4px 0 10px;border:none;outline:none;background:transparent;color:var(--text);font-size:15px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.lf-num-iw .unit{font-size:13px;color:var(--sub);padding:0 8px 0 2px}.lf-result{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-end) 100%);color:#fff;border-radius:var(--radius);padding:22px 20px;text-align:center;margin-bottom:14px;box-shadow:var(--shadow)}.lf-result-pre{font-size:13px;opacity:.85;margin-bottom:4px;letter-spacing:.5px}.lf-result-big{font-size:44px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;margin-bottom:6px}.lf-result-extra{font-size:13px;opacity:.9;line-height:1.5}.lf-heatmap-card.card{padding:18px 16px;margin-bottom:14px}.lf-card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:8px}.lf-card-head h2{font-size:16px;font-weight:600;color:var(--text);margin:0}.lf-hint{font-size:12px;color:var(--sub)}.lf-hm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 4px}.lf-heatmap{width:100%;min-width:600px;border-collapse:separate;border-spacing:4px;font-size:13px;font-variant-numeric:tabular-nums;table-layout:fixed}.lf-heatmap thead th.hm-corner{width:72px}.lf-heatmap th,.lf-heatmap td{text-align:center;padding:8px 4px;border-radius:6px;font-weight:600}.lf-heatmap thead th{background:transparent;color:var(--sub);font-size:12px;font-weight:500;padding:4px 4px 8px;white-space:nowrap}.lf-heatmap tbody th{background:transparent;color:var(--sub);font-size:12px;font-weight:500;text-align:right;padding:0 8px 0 0;white-space:nowrap}.lf-heatmap thead th.hm-corner{color:var(--sub);font-size:11px;font-weight:500;line-height:1.2;text-align:right;padding-right:8px}.lf-heatmap tbody td.hm-cell{color:var(--lf-cell-text);cursor:pointer;transition:transform .12s,box-shadow .12s;user-select:none;min-width:44px;position:relative}@media(hover:hover)and (pointer:fine){.lf-heatmap tbody td.hm-cell:hover{transform:scale(1.06);box-shadow:0 2px 8px #0000002e;z-index:2}}.lf-heatmap tbody td.hm-cell:active{transform:scale(.96)}.lf-heatmap tbody td.hm-cell.current{box-shadow:inset 0 0 0 2.5px var(--primary);z-index:1}.lf-heatmap td.lf-deepred{background:var(--lf-deepred)}.lf-heatmap td.lf-red{background:var(--lf-red)}.lf-heatmap td.lf-orange{background:var(--lf-orange)}.lf-heatmap td.lf-yellow{background:var(--lf-yellow)}.lf-heatmap td.lf-lgreen{background:var(--lf-lgreen)}.lf-heatmap td.lf-green{background:var(--lf-green)}.lf-hm-meta{margin-top:12px;text-align:center;font-size:12px;color:var(--sub);font-variant-numeric:tabular-nums}.lf-hm-meta b{color:var(--text);font-weight:600}.lf-legend{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:10px;font-size:12px;color:var(--sub);justify-content:center}.lf-lg{display:inline-flex;align-items:center;gap:6px}.lf-sw{width:14px;height:14px;border-radius:4px;display:inline-block}:root{--lf-deepred: #f87171;--lf-red: #fca5a5;--lf-orange: #fdba74;--lf-yellow: #fde68a;--lf-lgreen: #bef264;--lf-green: #6ee7b7;--lf-cell-text: #1a1a2e}[data-theme=dark]{--lf-deepred: #7f1d1d;--lf-red: #b91c1c;--lf-orange: #c2410c;--lf-yellow: #a16207;--lf-lgreen: #4d7c0f;--lf-green: #15803d;--lf-cell-text: #f4f4f5}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--lf-deepred: #7f1d1d;--lf-red: #b91c1c;--lf-orange: #c2410c;--lf-yellow: #a16207;--lf-lgreen: #4d7c0f;--lf-green: #15803d;--lf-cell-text: #f4f4f5}}.lf-slider-wrap input[type=range]{flex:1;min-width:0;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:linear-gradient(to right,var(--primary) 0%,var(--border) 0%);outline:none;cursor:pointer}.lf-slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);border:2.5px solid var(--card);box-shadow:0 1px 4px #0003;cursor:pointer}.lf-slider-wrap input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary);border:2.5px solid var(--card);box-shadow:0 1px 4px #0003;cursor:pointer}.lf-export-row{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border);display:flex;flex-direction:column;align-items:center;gap:6px}.lf-export-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-end) 100%);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #6c63ff40;transition:transform .12s,box-shadow .12s,opacity .15s}.lf-export-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6c63ff59}.lf-export-btn:active{transform:scale(.97)}.lf-export-btn:disabled{opacity:.6;cursor:progress}.lf-export-icon{font-size:16px}.lf-export-hint{font-size:12px;color:var(--sub)}@media(max-width:640px){.lf-input-card .form-grid{grid-template-columns:1fr;gap:10px}.lf-input-card .form-row label{width:64px}.lf-result{padding:18px 16px}.lf-result-big{font-size:36px}.lf-heatmap-card.card{padding:14px 12px}.lf-heatmap{font-size:12px;min-width:540px}.lf-heatmap th,.lf-heatmap td{padding:6px 2px}.lf-heatmap tbody td.hm-cell{min-width:38px}.lf-card-head{flex-direction:column;align-items:flex-start;gap:4px}}
