*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}:root{--sv-violet: #8B5CF6;--sv-violet-dim: #6d43d4;--sv-lime: #A3E635;--sv-lime-dim: #7fb51f;--sv-bg: #12121A;--sv-bg-2: #1b1b28;--sv-surface: rgba(27, 27, 40, .92);--sv-surface-2: rgba(40, 40, 60, .85);--sv-border: rgba(139, 92, 246, .35);--sv-border-lime: rgba(163, 230, 53, .35);--sv-text: #e6e6f0;--sv-text-dim: #9a9ab5;--sv-text-lime: #A3E635;--sv-text-violet: #b79cff;--sv-glow-violet: 0 0 8px rgba(139, 92, 246, .45);--sv-glow-lime: 0 0 8px rgba(163, 230, 53, .4);--sv-radius: 8px;--sv-font: "Share Tech Mono", "Courier New", monospace}.sv-theme{font-family:var(--sv-font);color:var(--sv-text)}.sv-title{font-family:var(--sv-font);font-weight:400;letter-spacing:.08em;color:var(--sv-text-violet);text-shadow:var(--sv-glow-violet);margin:0}.sv-title .sv-accent{color:var(--sv-text-lime);text-shadow:var(--sv-glow-lime)}.sv-subtitle{font-family:var(--sv-font);color:var(--sv-text-dim);letter-spacing:.05em;margin:.2rem 0 0;font-size:.8rem}.sv-panel{background:var(--sv-surface);border:1px solid var(--sv-border);border-radius:var(--sv-radius);color:var(--sv-text);font-family:var(--sv-font);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--sv-glow-violet)}.sv-badge{font-family:var(--sv-font);color:var(--sv-text-lime);letter-spacing:.04em;border-bottom:1px solid var(--sv-border-lime)}.sv-btn{font-family:var(--sv-font);letter-spacing:.05em;padding:6px 14px;border-radius:6px;border:1px solid var(--sv-border);background:var(--sv-surface-2);color:var(--sv-text);cursor:pointer;transition:all .15s ease}.sv-btn:hover{border-color:var(--sv-violet);box-shadow:var(--sv-glow-violet);color:var(--sv-text-violet)}.sv-btn-primary{background:linear-gradient(135deg,var(--sv-violet-dim),var(--sv-violet));border-color:var(--sv-violet);color:#fff}.sv-btn-primary:hover{box-shadow:var(--sv-glow-violet);filter:brightness(1.1);color:#fff}.sv-btn-go{background:linear-gradient(135deg,var(--sv-lime-dim),var(--sv-lime));border-color:var(--sv-lime);color:#12121a;font-weight:700}.sv-btn-go:hover{box-shadow:var(--sv-glow-lime);filter:brightness(1.08);color:#12121a}.sv-btn-file{position:relative;display:inline-flex;align-items:center}.sv-btn-file input{display:none}.sv-input{font-family:var(--sv-font);background:var(--sv-bg);color:var(--sv-text-lime);border:1px solid var(--sv-border);border-radius:6px;padding:4px 8px;text-align:right}.sv-input:focus{outline:none;border-color:var(--sv-lime);box-shadow:var(--sv-glow-lime)}.sv-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#12121ae0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:var(--sv-font);color:var(--sv-text-lime);letter-spacing:.08em;text-shadow:var(--sv-glow-lime)}.sv-loading img{width:160px;height:160px;filter:drop-shadow(0 0 12px rgba(139,92,246,.5))}.sv-loading .sv-loading-text{font-size:.95rem}.tool-ui-panel{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--sv-surface, #253547);color:var(--sv-text, #ecf0f1);font-family:var(--sv-font, sans-serif);padding:16px 20px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;min-width:300px;max-width:380px;max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:var(--sv-glow-violet, 0 8px 16px rgba(0, 0, 0, .25));border:2px solid var(--sv-violet, #8b5cf6);z-index:1000;text-align:left}.tool-ui-panel.collapsed{min-width:0;padding:8px 14px}.tool-ui-panel .panel-header{font-weight:700;font-size:.95rem;color:var(--sv-lime, #a3e635);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(163,230,53,.3);padding-bottom:8px;margin-bottom:12px;display:flex;align-items:center;gap:6px;cursor:default;-webkit-user-select:none;user-select:none}.tool-ui-panel.collapsed .panel-header{border-bottom:none;padding-bottom:0;margin-bottom:0}.tool-ui-panel .collapse-toggle,.tool-ui-panel .collapse-dots{margin-left:auto;color:var(--sv-lime, #a3e635);font-size:.85rem;letter-spacing:2px;opacity:.9}.tool-ui-panel .header-icon{font-size:1.1rem}.tool-ui-panel .hint{font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:6px}.tool-ui-panel .drawing-hint{color:#ffce54}.tool-ui-panel .step-badge{background:var(--sv-violet, #8b5cf6);color:#fff;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.tool-ui-panel .sub-hint{font-size:.8rem;color:#95a5a6;line-height:1.4;margin-bottom:12px}.tool-ui-panel .input-group{display:flex;flex-direction:column;gap:4px}.tool-ui-panel .input-group label{font-size:.82rem;color:#bdc3c7}.tool-ui-panel .input-group input[type=number],.tool-ui-panel .input-group input[type=text]{padding:7px 10px;border-radius:5px;border:1px solid #3a2f5c;background:#12121a;color:#fff;font-size:.9rem;outline:none;transition:border-color .2s}.tool-ui-panel .input-group input:focus{border-color:var(--sv-violet, #8b5cf6)}.tool-ui-panel .field-hint{font-size:.74rem;color:#7f8c8d;line-height:1.3}.tool-ui-panel .checkbox-label{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer}.tool-ui-panel .checkbox-label input{accent-color:var(--sv-violet, #8b5cf6);width:14px;height:14px}.tool-ui-panel .actions{display:flex;gap:8px;margin-top:4px}.tool-ui-panel .btn{flex:1;padding:8px;border:none;border-radius:5px;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s;font-family:inherit}.tool-ui-panel .btn:active{transform:scale(.97)}.tool-ui-panel .btn-save{background:var(--sv-lime, #a3e635);color:#12121a;font-weight:700}.tool-ui-panel .btn-save:hover:not(:disabled){background:#b6f04d}.tool-ui-panel .btn-save:disabled{opacity:.45;cursor:not-allowed}.tool-ui-panel .btn-cancel{background:#3a2f5c;color:#fff}.tool-ui-panel .btn-cancel:hover{background:#5d7a91}.tool-ui-panel .existing-list{margin-top:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px;max-height:180px;overflow-y:auto}.tool-ui-panel .list-title{font-size:.78rem;color:#7f8c8d;text-transform:uppercase;margin-bottom:6px}
