.epp-tool{--epp-bg:#1b1c1f;--epp-panel:#24262b;--epp-panel-2:#2d3036;--epp-border:#3a3d45;--epp-text:#e8e9ec;--epp-muted:#aeb4bf;--epp-accent:#238b57;--epp-danger:#ff6b6b;--epp-ok:#4cd08a;color:var(--epp-text);font:13px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}.epp-tool *{box-sizing:border-box}.epp-launcher{color:#1f3026;background:#eef3ef;border-radius:12px;padding:24px}.epp-launcher-actions{gap:10px;margin:16px 0 8px;display:flex}.epp-launcher button,.epp-tool button{font:inherit;color:var(--epp-text);border:1px solid var(--epp-border);cursor:pointer;background:#383b43;border-radius:6px;padding:7px 12px}.epp-launcher button:first-child,.epp-tool button.active,.epp-tool button.primary{background:var(--epp-accent);border-color:var(--epp-accent);color:#fff}.epp-tool button:hover{filter:brightness(1.12)}.epp-tool button:disabled{opacity:.45;cursor:not-allowed}.epp-runtime{background:var(--epp-bg);border-radius:12px;height:min(760px,100vh - 120px);min-height:560px;display:flex;overflow:hidden}.epp-tool #viewport{background:radial-gradient(circle at 50% 40%,#34373d 0%,#232529 70%);flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.epp-tool #gl-canvas{display:block;box-shadow:0 0 0 1px #0006}.epp-tool #panel{background:var(--epp-panel);border-left:1px solid var(--epp-border);flex:none;width:320px;padding:12px 14px 24px;overflow-y:auto}.epp-tool #panel .paneltitle{margin:4px 0 12px;font-size:15px;font-weight:600}.epp-tool #panel .paneltitle small{color:var(--epp-muted);margin-left:6px;font-size:11px}.epp-tool .group{border:1px solid var(--epp-border);background:var(--epp-panel-2);border-radius:8px;margin-bottom:10px;padding:10px 12px}.epp-tool .group h2{color:var(--epp-muted);letter-spacing:.6px;margin:0 0 8px;font-size:12px}.epp-tool .row{align-items:center;gap:8px;margin:6px 0;display:flex}.epp-tool .row label{width:76px;color:var(--epp-muted);flex:none}.epp-tool .row .val{text-align:right;width:52px;color:var(--epp-muted);font-variant-numeric:tabular-nums;flex:none}.epp-tool .row input[type=range]{min-width:0;accent-color:var(--epp-accent);flex:1}.epp-tool .row select,.epp-tool .row input[type=text],.epp-tool .row input[type=number]{min-width:0;color:var(--epp-text);border:1px solid var(--epp-border);font:inherit;background:#1d1f23;border-radius:5px;flex:1;padding:4px 6px}.epp-tool .row input[type=color]{border:1px solid var(--epp-border);background:0 0;border-radius:5px;width:36px;height:26px;padding:0}.epp-tool .row input[type=checkbox]{accent-color:var(--epp-accent)}.epp-tool .btns{flex-wrap:wrap;gap:6px;display:flex}.epp-tool .drop{border:1px dashed var(--epp-border);text-align:center;color:var(--epp-muted);cursor:pointer;border-radius:8px;padding:12px}.epp-tool .drop:hover,.epp-tool .drop.over{border-color:var(--epp-accent);color:var(--epp-text)}.epp-tool .info,.epp-tool .hint{color:var(--epp-muted);line-height:1.5}.epp-tool .hint{margin-top:4px;font-size:11px}.epp-tool .info b{color:var(--epp-text);font-weight:500}.epp-tool #status{min-height:18px;margin:4px 0 8px}.epp-tool #status.error{color:var(--epp-danger)}.epp-tool #status.ok{color:var(--epp-ok)}.epp-tool #progress{background:var(--epp-accent);transform-origin:0;height:3px;display:none;position:absolute;top:0;bottom:auto;left:0;right:0}.epp-tool #progress.on{animation:1.2s ease-in-out infinite epp-slide;display:block}@keyframes epp-slide{0%{transform:scaleX(.05)}50%{transform:scaleX(.4)translate(150%)}to{transform:scaleX(.05)translate(2000%)}}.epp-tool #overlay{color:#fff;pointer-events:none;background:#14161a8c;justify-content:center;align-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.epp-tool #overlay.on{display:flex}.epp-tool #dropzone{border:3px dashed var(--epp-accent);pointer-events:none;background:#238b5726;justify-content:center;align-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.epp-tool #dropzone.on{display:flex}.epp-tool #viewbar{gap:6px;display:flex;position:absolute;top:12px;left:12px}.epp-tool #banner{background:var(--epp-danger);color:#fff;padding:8px 12px;display:none;position:absolute;top:0;bottom:auto;left:0;right:0}.epp-tool .epp-notice{max-width:min(440px,100vw - 32px);font:inherit;color:var(--epp-text);background:var(--epp-panel);border:1px solid var(--epp-border);border-radius:12px;padding:20px 22px;box-shadow:0 18px 48px #00000073}.epp-tool .epp-notice::backdrop{background:#0c0e119e}.epp-tool .epp-notice h2{margin:0 0 10px;font-size:15px;font-weight:600}.epp-tool .epp-notice p{color:var(--epp-muted);margin:0 0 18px;font-size:13px;line-height:1.75}.epp-tool .epp-notice-actions{justify-content:flex-end;display:flex}.epp-tool .ovgrid{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px;display:grid}.epp-tool .ovbtn{flex-direction:column;align-items:center;gap:3px;padding:4px 3px 3px;font-size:11px;display:flex}.epp-tool .ovbtn img,.epp-tool .ovbtn .ovnone{aspect-ratio:1;object-fit:cover;background:#1d1f23;border-radius:4px;width:100%;display:block}.epp-tool .ovsearch{border:1px solid var(--epp-border);width:100%;color:var(--epp-text);font:inherit;background:#1d1f23;border-radius:5px;margin-bottom:8px;padding:7px 8px}.epp-tool .ovcats{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.epp-tool .ovcats[hidden]{display:none}.epp-tool .ovcat{white-space:nowrap;border-radius:12px;padding:3px 7px;font-size:11px;line-height:1.4}.epp-tool .ovcat .ovcatn{color:var(--epp-muted);font-variant-numeric:tabular-nums;margin-left:4px}.epp-tool .ovcat.active .ovcatn{color:#ffffffbf}.epp-tool .ovpager{justify-content:space-between;align-items:center;gap:8px;margin:4px 0 8px;display:flex}.epp-tool .ovpager[hidden]{display:none}.epp-tool .ovpage,.epp-tool .ovempty{color:var(--epp-muted);font-size:11px}.epp-tool .ovempty{text-align:center;grid-column:1/-1;margin:8px 0}@media (max-width:760px){.epp-runtime{flex-direction:column;height:auto;min-height:760px}.epp-tool #viewport{min-height:55vh}.epp-tool #panel{border-left:0;border-top:1px solid var(--epp-border);width:100%;max-height:50vh}}
