:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#94a3b8;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #6366f1;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%)}a{font-weight:500;color:var(--primary-color, #646cff);text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--primary-color, #646cff)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto}@media (prefers-color-scheme: light){:root{color:#1e293b;background-color:#f8fafc}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-color: #6366f1;--primary-hover: #4f46e5;--danger-color: #ef4444;--danger-hover: #dc2626;--success-color: #10b981;--bg-color: #f8fafc;--card-bg: #ffffff;--text-color: #1e293b;--text-light: #64748b;--border-color: #e2e8f0;--box-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--box-shadow-lg: 0 10px 25px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--input-bg: #f1f5f9;--input-border: #cbd5e1;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%)}html.dark-mode{--primary-color: #a5b4fc;--primary-hover: #818cf8;--danger-color: #f87171;--danger-hover: #ef4444;--success-color: #34d399;--bg-color: #0f172a;--card-bg: #1e293b;--text-color: #f1f5f9;--text-light: #94a3b8;--border-color: #334155;--box-shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3);--box-shadow-lg: 0 10px 25px rgba(0, 0, 0, .6), 0 4px 6px rgba(0, 0, 0, .4);--input-bg: #0f172a;--input-border: #334155;--gradient-primary: linear-gradient(135deg, #a5b4fc 0%, #c4b5fd 100%);--gradient-success: linear-gradient(135deg, #34d399 0%, #059669 100%)}html,body{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-color)!important;color:var(--text-color);min-height:100vh}#app-wrapper{width:100%;height:100vh;overflow:hidden}.global-header{background:var(--card-bg)!important;box-shadow:var(--box-shadow);height:64px;position:fixed;top:0;left:0;width:100%;z-index:1000;border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:100%;padding:0 40px}.logo-area{display:flex;align-items:center;gap:12px}.logo-text{font-size:1.25rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-actions{display:flex;align-items:center;gap:10px}.header-action-btn{background:none;border:none;cursor:pointer;color:var(--text-light);padding:8px;display:flex;align-items:center;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.header-action-btn:hover{color:var(--primary-color);background:var(--gradient-primary);background-size:200% 200%;animation:shimmer 2s infinite;transform:scale(1.05)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.dirty-indicator{background:var(--danger-color);color:#fff;padding:4px 8px;border-radius:20px;font-size:.8rem;font-weight:500;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.main-content{padding-top:64px;height:calc(100vh - 64px);overflow-y:auto}.main-container{max-width:1200px;margin:30px auto;padding:0 20px}.container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 64px);background:linear-gradient(135deg,var(--bg-color) 0%,rgba(99,102,241,.05) 100%)}.login-box.sublink-style{background:var(--card-bg)!important;padding:48px 40px;border-radius:24px;box-shadow:var(--box-shadow-lg),0 0 0 1px #6366f11a;text-align:center;max-width:420px;width:100%;border:1px solid var(--border-color);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.login-box.sublink-style:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.login-box.sublink-style:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px #6366f126,0 0 0 1px #6366f133}.icon-wrapper.sublink-icon{margin-bottom:24px;display:flex;justify-content:center}.icon-wrapper.sublink-icon svg{color:var(--primary-color);filter:drop-shadow(0 4px 8px rgba(99,102,241,.3));transition:transform .3s ease}.login-box.sublink-style:hover .icon-wrapper.sublink-icon svg{transform:rotate(360deg) scale(1.1)}.login-box.sublink-style h2{margin:0 0 8px;font-size:1.75rem;font-weight:800;color:var(--text-color);letter-spacing:-.025em;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-box.sublink-style p{margin:0 0 32px;color:var(--text-light);font-size:.95rem;line-height:1.6}.login-box.sublink-style input{width:100%;padding:16px 20px;border:2px solid var(--input-border);border-radius:16px;background:var(--input-bg)!important;color:var(--text-color);font-size:1rem;box-sizing:border-box;margin-bottom:20px;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit}.login-box.sublink-style input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #6366f11a,inset 0 1px #ffffff1a;transform:translateY(-2px)}.login-box.sublink-style input::placeholder{color:var(--text-light);opacity:.6}.login-box.sublink-style input:disabled{opacity:.5;cursor:not-allowed}.login-box.sublink-style .btn-primary.full-width{width:100%;padding:16px 20px;font-size:1rem;font-weight:700;border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;background:var(--gradient-primary)!important;color:#fff;border:none}.login-box.sublink-style .btn-primary.full-width:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.login-box.sublink-style .btn-primary.full-width:not(:disabled):hover:after{left:100%}.login-box.sublink-style .btn-primary.full-width:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 20px #6366f14d}.login-box.sublink-style .btn-primary.full-width:disabled{opacity:.7;cursor:not-allowed}.login-box.sublink-style .error-message{margin:16px 0 0;color:var(--danger-color);font-size:.875rem;font-weight:600;animation:shake .6s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.sub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.sub-header h2{margin:0;font-size:2rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.sub-card{background:var(--card-bg)!important;border-radius:20px;padding:28px;box-shadow:var(--box-shadow);display:flex;flex-direction:column;gap:20px;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.sub-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.sub-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--box-shadow-lg);border-color:var(--primary-color)}.card-header{display:flex;align-items:center;gap:12px}.protocol-tag{background:#6366f11a;color:var(--primary-color);padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sub-name{margin:0;flex-grow:1;font-size:1.25rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.sub-url{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;background:var(--input-bg)!important;padding:12px 16px;border-radius:12px;margin:0;border:1px solid var(--border-color);transition:all .3s ease;color:var(--text-color)}.sub-url:hover{border-color:var(--primary-color);background:var(--gradient-primary);background-size:200% 200%;animation:shimmer 2s infinite;color:#fff;transform:translate(4px)}.copied-text{color:var(--success-color);font-weight:700}.refresh-container{width:100%}.refresh-btn{width:100%;background:var(--input-bg)!important;border:1px solid var(--border-color);padding:12px 16px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:.95rem;color:var(--text-color);min-height:48px;box-sizing:border-box}.refresh-btn.small{padding:12px 16px;min-height:44px;font-size:.9rem}.refresh-btn:hover:not(:disabled){border-color:var(--primary-color);background:var(--gradient-primary);background-size:200% 200%;animation:shimmer 2s infinite;color:#fff;transform:translate(4px)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn svg{flex-shrink:0}.refresh-display{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-family:monospace;font-size:.9rem;color:var(--text-color)}.refresh-display.status-error{color:var(--danger-color)}.sub-info{display:flex;flex-direction:column;gap:16px;font-size:.95rem;color:var(--text-light)}.traffic-info{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:12px}.traffic-bar{flex-grow:1;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.used-bar{height:100%;background:var(--gradient-primary);transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:4px}.btn-primary,.btn-secondary,.btn-danger{border:none;padding:12px 24px;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.95rem;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-primary)!important;color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #6366f14d}.btn-secondary{background:var(--card-bg)!important;color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--input-bg);transform:translateY(-1px);border-color:var(--primary-color)}.btn-danger{background:var(--danger-color)!important;color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #ef44444d}.btn-danger.small,.btn-secondary.small,.btn-primary.small{padding:8px 16px;font-size:.9rem}.dedupe-btn{position:relative;overflow:hidden}.dedupe-btn:active{transform:scale(.98);transition:transform .1s ease}.dedupe-btn .dedupe-feedback{color:var(--success-color);font-weight:600;animation:dedupePulse 1.5s ease-in-out infinite}@keyframes dedupePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-left:auto}.close-btn:hover{background:#fff3;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg)!important;padding:0;border-radius:20px;box-shadow:var(--box-shadow-lg);width:100%;border:1px solid var(--border-color);margin:20px;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.spinner{border:2px solid rgba(0,0,0,.1);border-left-color:currentColor;border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}.spinner.small-spinner{width:16px;height:16px}.spinner.white-spinner{border-color:#fff3;border-left-color:#fff}.spinner.dedupe-spinner{border-color:#fff3;border-left-color:var(--success-color)}html.dark-mode .spinner.dedupe-spinner{border-color:#0003;border-left-color:var(--success-color)}button:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:20px;display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:600;font-size:.95rem;color:var(--text-color)}.form-group input,.form-group textarea{width:100%;padding:16px;border:2px solid var(--input-border);border-radius:12px;box-sizing:border-box;background-color:var(--input-bg)!important;color:var(--text-color);font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group textarea{resize:vertical;line-height:1.6;min-height:200px}#sub-remarks{min-height:80px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #6366f11a;transform:translateY(-1px)}.modal-fullscreen{max-width:95vw}.modal-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:24px;padding:24px}.modal-column{display:flex;flex-direction:column;min-height:0;flex:1}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;flex-wrap:wrap;padding:24px 24px 20px;border-bottom:1px solid var(--border-color);background:var(--gradient-primary);background-size:200% 200%;animation:shimmer 3s infinite;color:#fff;position:relative}.modal-header h3{margin:0;white-space:nowrap;font-weight:700;flex-grow:1}.name-input-row{display:flex;align-items:center;gap:12px;flex-grow:0;max-width:400px;width:100%}.name-input-row label{margin:0;font-weight:600;font-size:1rem;white-space:nowrap;color:#fff;flex-shrink:0;min-width:120px;text-align:left}.name-input-row input{flex:1;padding:12px 16px;font-size:1rem;min-width:200px;border-radius:12px;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;box-sizing:border-box}.name-input-row input::placeholder{color:#fff9}.name-input-row input:focus{border-color:#fff;background:#fff3}.modal-header-actions,.query-header-actions{display:flex;gap:12px;align-items:center}.inline-form-group{display:flex;align-items:center;gap:12px;flex-grow:1;margin-bottom:0!important}.inline-form-group label{margin-bottom:0;white-space:nowrap;flex-shrink:0;font-weight:400}.modal-header .btn-danger{margin-left:auto}.links-textarea-group{display:flex;flex-direction:column}.links-list-container{display:flex;flex-direction:column;gap:20px;overflow-y:auto;flex-grow:1}.links-list{display:flex;flex-direction:column;gap:12px;padding-right:10px}.links-list.usable-links-list .link-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,auto);align-items:center;gap:16px}.links-list:not(.usable-links-list) .link-item{display:grid;grid-template-columns:minmax(0,3fr) 1fr 100px;align-items:center;gap:16px}.link-item{padding:16px;border-radius:12px;background-color:var(--input-bg);border:1px solid var(--border-color);transition:all .3s ease}.link-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #6366f11a;transform:translateY(-1px)}.link-item.header{background:none;border:none;font-weight:600;color:var(--text-light);padding:0 10px 8px}.link-item.used-up{opacity:.7;background-color:transparent}.link-url{font-size:.95rem;word-break:break-all;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .3s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color)}.link-url:hover{background-color:var(--border-color);transform:scale(1.02)}.link-status{font-size:.9rem;display:flex;align-items:center;gap:8px;white-space:nowrap}.link-status.status-error{color:var(--danger-color)}.expire-text{font-size:.85rem;color:var(--text-light)}.link-actions{text-align:right}.empty-state-small{text-align:center;color:var(--text-light);padding:40px 20px;font-style:italic}.empty-state{text-align:center;color:var(--text-light);padding:60px 20px;font-size:1.1rem}@keyframes spin{to{transform:rotate(360deg)}}.modal-header .btn-primary{background:#ffffff26!important;border:1px solid rgba(255,255,255,.3)!important}.modal-header .btn-primary:not(:disabled):hover{background:#ffffff40!important;transform:translateY(-2px);box-shadow:0 4px 12px #fff3}.modal-header .btn-primary:disabled{background:#ffffff1a!important;opacity:.6}.feedback-text{color:var(--success-color)!important;animation:pulse 1s infinite}@media (max-width: 1200px){.modal-body{grid-template-columns:1fr}.query-column{margin-top:24px}.modal-content{overflow-y:auto}.name-input-row{flex-direction:column;align-items:stretch;gap:8px;max-width:none}.name-input-row label{min-width:auto;text-align:left;margin-bottom:4px}.name-input-row input{width:100%;min-width:auto}.query-header-actions{flex-direction:column;align-items:flex-end;gap:12px}.modal-header h3,.name-input-row label,.link-item.header .link-url,.link-item.header .link-status{font-size:1rem!important;font-weight:600!important;line-height:1.4!important}#sub-remarks{min-height:100px}}@media (max-width: 768px){.main-container{margin:20px auto;padding:0 2.5vw}.header-content{padding:0 2.5vw}.modal-header-actions,.query-header-actions{flex-direction:column;gap:8px;align-items:stretch;width:100%}.btn-primary.small,.btn-secondary.small,.btn-danger.small{width:100%;padding:12px;font-size:1rem}.link-item{grid-template-columns:1fr!important;gap:12px;text-align:left;padding:20px}.link-item.header{display:flex;justify-content:space-between;align-items:center;grid-template-columns:none!important;flex-wrap:wrap;gap:8px}.link-item.header .link-url,.link-item.header .link-actions,.link-item.header .link-status{font-size:1rem!important;font-weight:600!important;white-space:nowrap;flex-shrink:0}.link-url{order:1;white-space:normal;word-break:break-all;overflow:visible;text-overflow:unset}.link-status{order:2;justify-content:flex-start}.link-actions{order:3;text-align:left}.form-group textarea{min-height:150px}#sub-remarks{min-height:120px}.modal-body{padding:16px;gap:16px}.modal-header{padding:16px;flex-direction:column;gap:12px;text-align:center;position:relative}.modal-header h3{white-space:normal;margin:0}.name-input-row{width:100%;max-width:none;gap:8px}.name-input-row label{font-size:.95rem;min-width:auto;text-align:left}.close-btn{position:absolute;top:12px;right:12px;margin:0;width:36px;height:36px}.modal-header h3,.name-input-row label,.link-item.header .link-url,.link-item.header .link-status{font-size:1rem!important;font-weight:600!important;line-height:1.4!important}.refresh-display{font-size:.85rem}}@media (max-width: 480px){.login-box.sublink-style{padding:32px 24px;margin:20px;border-radius:16px}.login-box.sublink-style h2{font-size:1.5rem}.sub-grid{grid-template-columns:1fr}.sub-card{padding:20px}.modal-header{padding:12px}.name-input-row{gap:6px}.name-input-row label{font-size:.9rem}.name-input-row input{padding:10px 12px;font-size:.95rem}.close-btn{top:8px;right:8px;width:32px;height:32px;padding:6px}.modal-header-actions,.query-header-actions{width:100%;align-items:stretch}#sub-remarks{min-height:100px}.modal-header h3,.name-input-row label,.link-item.header .link-url,.link-item.header .link-status{font-size:1rem!important;font-weight:600!important;line-height:1.4!important}.refresh-btn{padding:10px 12px;min-height:44px}.refresh-display{font-size:.8rem}}
