*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}textarea{outline:none;resize:none}select,input{-webkit-appearance:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--jlp-scroll, rgba(128,128,128,.35));border-radius:2px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--jlp-scroll-hover, rgba(128,128,128,.55));border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}::selection{background:#3b82f64d}#root{height:100%}button{font-family:inherit;transition:filter .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease,transform .06s ease,box-shadow .15s ease}button:hover{filter:brightness(1.08)}button:active{transform:scale(.97)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--jlp-accent, #3b82f6);outline-offset:1px}input,select{transition:border-color .15s ease,box-shadow .15s ease}@keyframes jlp-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.jlp-pop{animation:jlp-fade-in .14s ease}@keyframes jlp-modal-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.jlp-modal{animation:jlp-modal-in .18s cubic-bezier(.2,.8,.3,1)}@keyframes jlp-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.jlp-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:200;padding:9px 18px;border-radius:3px;font-size:13px;font-weight:600;box-shadow:0 8px 30px #00000059;pointer-events:none;white-space:nowrap;animation:jlp-toast-in .18s ease}@keyframes jlp-pulse{0%,to{box-shadow:0 0 #f8514973}60%{box-shadow:0 0 0 5px #f8514900}}.jlp-dot-err{animation:jlp-pulse 1.6s ease infinite}.jlp-row{position:relative}.jlp-row:hover{background:var(--jlp-rowhover, rgba(128,128,128,.07))}.jlp-rowtools{opacity:0;transition:opacity .12s ease}.jlp-row:hover .jlp-rowtools,.jlp-rowtools:focus-within{opacity:1}.jlp-ctl{opacity:.25;transition:opacity .12s ease}.jlp-row:hover .jlp-ctl{opacity:1}.jlp-edit{border-radius:2px}.jlp-edit:hover{outline:1px dashed var(--jlp-accent, #3b82f6);outline-offset:2px}@media (hover: none){.jlp-ctl,.jlp-rowtools{opacity:.8}.jlp-row:hover{background:transparent}}@media (max-width: 900px){::-webkit-scrollbar{width:8px;height:8px}.jlp-rowtools{display:none}}.jlp-droptarget{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:50;pointer-events:none;display:flex;align-items:center;justify-content:center;border:2px dashed var(--jlp-accent, #3b82f6);border-radius:3px;background:#3b82f614;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);font-size:14px;font-weight:600;color:var(--jlp-accent, #3b82f6)}
