:root{--color-bg: #12141d;--color-bg-elevated: #1e1e24;--color-bg-card: #1a1d28;--color-bg-input: #1a1d28;--color-border: rgba(55, 58, 72, .85);--color-border-subtle: rgba(55, 58, 72, .5);--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-subtle: #64748b;--color-primary: #a5b4fc;--color-primary-hover: #8b9cf7;--color-primary-muted: rgba(165, 180, 252, .15);--color-primary-a10: rgba(165, 180, 252, .1);--color-primary-a12: rgba(165, 180, 252, .12);--color-primary-a15: rgba(165, 180, 252, .15);--color-primary-a20: rgba(165, 180, 252, .2);--color-primary-a25: rgba(165, 180, 252, .25);--color-primary-a30: rgba(165, 180, 252, .3);--color-primary-a35: rgba(165, 180, 252, .35);--color-primary-a40: rgba(165, 180, 252, .4);--color-primary-a45: rgba(165, 180, 252, .45);--color-primary-a50: rgba(165, 180, 252, .5);--color-primary-a60: rgba(165, 180, 252, .6);--color-primary-a65: rgba(165, 180, 252, .65);--color-primary-a85: rgba(165, 180, 252, .85);--color-danger: #ef4444;--color-danger-hover: #dc2626;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--vv-offset-top: 0px;--vv-height: 100dvh;--vv-width: 100vw}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background-color:var(--color-bg);color:var(--color-text);font-family:Roboto,sans-serif;height:100%;overflow:hidden;-webkit-font-smoothing:antialiased}app-root{display:block;height:100%;overflow:hidden}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-symbols-outlined.icon-sm{font-size:18px}.material-symbols-outlined.icon-lg{font-size:30px}.material-symbols-outlined.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.22) transparent}.custom-scrollbar::-webkit-scrollbar{width:5px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(107,114,128,.22);border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(107,114,128,.38)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden-input{display:none}.app-modal-overlay{position:fixed;top:var(--vv-offset-top, 0px);left:0;right:0;height:var(--vv-height, 100dvh);width:var(--vv-width, 100vw);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;background:rgba(0,0,0,.85);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transform:translateZ(0);-webkit-transform:translateZ(0)}.app-modal-overlay--hidden{visibility:hidden;pointer-events:none}.app-modal-overlay--sheet{flex-direction:column;justify-content:flex-end;align-items:stretch;padding:0}.app-modal-panel--sheet{width:100%;max-width:480px;max-height:calc(var(--vv-height, 100dvh) - 8px);height:auto;flex:0 0 auto;margin-left:auto;margin-right:auto}.app-modal-panel--sheet:not(.capturable-modal-panel) .app-modal-body{flex:0 1 auto;max-height:min(50vh,calc(var(--vv-height, 100dvh) - 180px))}.app-modal-panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:576px;max-height:min(90vh,calc(var(--vv-height, 100dvh) - 32px));background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 24px 48px #00000073}.app-modal-header{padding:32px 24px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.app-modal-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.app-modal-header-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.app-modal-title{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.025em;color:var(--color-text);line-height:1.2;word-break:break-word}.app-modal-title--sm{font-size:1.5rem}.app-modal-title-muted{color:#fff9}.capturable-card-label-row{display:flex;align-items:center;gap:8px;font-size:18px;line-height:1.25;min-width:0}.capturable-label{margin:0;font-size:inherit;font-weight:500;line-height:1.25;color:var(--color-text);transition:color .2s ease;min-width:0;word-break:break-word}.capturable-card:hover .capturable-label{color:var(--color-primary)}.app-modal-subtitle-badge{display:inline-flex;align-items:center;margin-top:8px;padding:2px 10px;border-radius:var(--radius-full);background:rgba(255,255,255,.1);color:#ffffffb3;font-size:12px;font-weight:500}.app-modal-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-modal-body{flex:1;min-height:0;max-height:calc(var(--vv-height, 100dvh) - 220px);overflow-y:auto;padding:24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-modal-body--spaced{display:flex;flex-direction:column;gap:24px}.app-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.06);background:rgba(26,29,40,.9)}.app-modal-footer--single{justify-content:flex-end}.app-modal-section{display:flex;flex-direction:column;gap:16px}.app-modal-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-modal-section-title{margin:0;font-size:18px;font-weight:700;color:var(--color-text)}.app-modal-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#ffffffe6}.app-modal-hint{margin:8px 0 0;font-size:12px;color:#fff9}.app-modal-input,.app-modal-textarea{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:14px;outline:none;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.app-modal-textarea{resize:vertical;min-height:120px;line-height:1.5}.app-modal-input--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.app-modal-input--sm{padding:8px 16px;font-size:12px}.app-modal-input::placeholder,.app-modal-textarea::placeholder{color:#fff6}.app-modal-input:focus,.app-modal-textarea:focus{border-color:var(--color-primary);background:var(--color-bg-card);box-shadow:0 0 0 2px var(--color-primary-a25)}.app-modal-input-row{display:flex;align-items:center;gap:8px}.app-modal-input-row .app-modal-input{flex:1;min-width:0}.app-modal-edit-title-input{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:2rem;font-weight:700;letter-spacing:-.025em;outline:none}.app-modal-edit-title-input:focus{border-color:#ffffff4d;background:rgba(255,255,255,.08)}.app-modal-edit-header{display:flex;flex-direction:column;gap:12px}.app-modal-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.app-modal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:#fff9;cursor:pointer;transition:background-color .2s ease,color .2s ease;flex-shrink:0}.app-modal-icon-btn:hover{color:var(--color-primary)}.app-modal-icon-btn--danger:hover{color:var(--color-danger)}.app-modal-icon-btn--success{color:#22c55e}.app-modal-icon-btn--success:hover{background:rgba(34,197,94,.1)}.app-modal-icon-btn--danger{color:var(--color-danger)}.app-modal-icon-btn--danger:hover{background:rgba(239,68,68,.1)}.app-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:none;border-radius:var(--radius-sm);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,opacity .2s ease}.app-modal-btn:disabled{opacity:.5;cursor:not-allowed}.app-modal-btn--primary{background:var(--color-primary);color:#fff}.app-modal-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.app-modal-btn--ghost{background:transparent;color:#ffffffb3}.app-modal-btn--ghost:hover:not(:disabled){color:#fff}.app-modal-btn--outline{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fffc}.app-modal-btn--outline:hover:not(:disabled){background:rgba(255,255,255,.1);color:#fff}.app-modal-btn--outline-primary{background:transparent;border:1px solid var(--color-primary-a40);color:var(--color-primary)}.app-modal-btn--outline-primary:hover:not(:disabled){background:var(--color-primary-a10)}.app-modal-btn--close{padding:12px 40px;font-size:16px;font-weight:700}.app-modal-btn--dashed{width:100%;background:transparent;border:2px dashed var(--color-primary-a40);color:var(--color-primary)}.app-modal-btn--dashed:hover:not(:disabled){background:var(--color-primary-a10)}.app-modal-list{display:flex;flex-direction:column;gap:12px}.app-modal-list-item{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text);text-align:left;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.app-modal-list-item:hover{background:rgba(255,255,255,.05)}.app-modal-list-item--danger{border-color:#ef44444d}.app-modal-list-item--danger:hover{background:rgba(239,68,68,.1)}.app-modal-list-item-label{flex:1;font-weight:500}.app-modal-list-item-label--danger{color:var(--color-danger)}.app-modal-list-item-arrow{color:#ffffff4d;transition:color .2s ease,transform .2s ease}.app-modal-list-item:hover .app-modal-list-item-arrow{color:#fff;transform:translate(4px)}.app-modal-select-item{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);background:rgba(255,255,255,.05);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.app-modal-select-item:hover{background:rgba(255,255,255,.08)}.app-modal-select-item--selected{background:var(--color-primary-a20);border-color:var(--color-primary-a50)}.app-modal-select-item-content{flex:1;min-width:0;color:var(--color-text);font-size:14px;line-height:1.5}.app-modal-select-item-check{color:#fff6;flex-shrink:0}.app-modal-select-item--selected .app-modal-select-item-check{color:var(--color-primary)}.app-modal-tag{display:inline-flex;align-items:center;margin-top:8px;padding:2px 10px;border-radius:var(--radius-full);background:var(--color-primary-a20);color:var(--color-primary);font-size:12px;font-weight:500}.app-modal-card{padding:20px;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.app-modal-card-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.app-modal-card-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.app-modal-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;flex-shrink:0}.app-modal-badge--string{background:rgba(59,130,246,.2);border-color:#3b82f666;color:#60a5fa}.app-modal-badge--regex{background:rgba(249,115,22,.2);border-color:#f9731666;color:#fb923c}.app-modal-pattern-value{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;word-break:break-all}.app-modal-toggle-group{display:flex;gap:8px}.app-modal-toggle-btn{flex:1;padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:#ffffffb3;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.app-modal-toggle-btn--active{background:var(--color-primary-a30);border-color:var(--color-primary-a60);color:#fff}.app-modal-empty{padding:48px 16px;text-align:center;color:#fff9}.app-modal-count-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--color-text);font-size:12px;font-weight:700}.app-modal-loading{display:flex;align-items:center;justify-content:center;padding:32px}.app-modal-spinner{width:32px;height:32px;border:2px solid var(--color-primary-a20);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.app-modal-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px)}.app-modal-glow--top{top:-96px;left:-96px;width:256px;height:256px;background:var(--color-primary-a10)}.app-modal-glow--bottom{right:-96px;bottom:-96px;width:256px;height:256px;background:var(--color-primary-a10)}@media (max-width: 768px){.app-modal-overlay{padding:16px}.app-modal-overlay--sheet{padding:0;justify-content:flex-end;align-items:stretch}.app-modal-panel--sheet{width:100%;max-width:100%;max-height:calc(var(--vv-height, 100dvh) - env(safe-area-inset-top,0px));margin:0;border-radius:18px 18px 0 0}.app-modal-overlay--sheet .app-modal-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.app-modal-header{padding:20px 16px 12px}.app-modal-panel{max-height:calc(var(--vv-height, 100dvh) - 24px)}.app-modal-panel--sheet.capturable-modal-panel{max-height:min(85vh,calc(var(--vv-height, 100dvh) - env(safe-area-inset-top,0px)))}.app-modal-title{font-size:1.25rem}.capturable-card-label-row{font-size:16px}.app-modal-edit-title-input{width:100%;font-size:1.25rem}.app-modal-header-row{align-items:flex-start}.app-modal-section-header .app-modal-btn{flex-shrink:0;white-space:nowrap;padding:8px 12px;font-size:13px}.app-modal-section-title{font-size:16px;min-width:0}.app-modal-body,.app-modal-footer{padding:16px}.app-modal-btn--close{width:100%}}@media (min-width: 769px){.app-modal-overlay--sheet{align-items:center;justify-content:center;padding:16px}.app-modal-panel--sheet{max-height:min(520px,80vh);border-radius:var(--radius-md)}.app-modal-panel--sheet.capturable-modal-panel{max-height:min(720px,85vh)}}
