@keyframes bgColor{0%{background-color:#ff1493}12.5%{background-color:red}25%{background-color:orange}37.5%{background-color:#ff0}50%{background-color:#7fff00}62.5%{background-color:#0ff}75%{background-color:#00f}87.5%{background-color:#9932cc}to{background-color:#ff1493}}@keyframes textColor{0%{color:#ff1493}12.5%{color:red}25%{color:orange}37.5%{color:#ff0}50%{color:#7fff00}62.5%{color:#0ff}75%{color:#00f}87.5%{color:#9932cc}to{color:#ff1493}}@keyframes borderColor{0%{border-color:#ff1493}12.5%{border-color:red}25%{border-color:orange}37.5%{border-color:#ff0}50%{border-color:#7fff00}62.5%{border-color:#0ff}75%{border-color:#00f}87.5%{border-color:#9932cc}to{border-color:#ff1493}}body{color:#e0e0e0;background-color:#000;flex-direction:column;align-items:center;margin:0;padding-top:5vh;padding-bottom:4rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}#logo-container{justify-content:center;align-items:center;margin-bottom:2rem;display:flex;position:relative}#logo-container img{opacity:.8;max-width:312px;height:auto}@keyframes rainbow-cycle{0%,to{background-position:0%}50%{background-position:100%}}#logo-container span{text-align:center;letter-spacing:0;text-shadow:0 0 5px rgba(255,255,255,.2),0 0 80px rgba(255,255,255,.5);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#8a2be2,red);background-size:200%;-webkit-background-clip:text;background-clip:text;width:100%;margin:0 auto;padding:.25em 0 .325em;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:2em;font-weight:700;line-height:1;animation:3s linear infinite rainbow-cycle;display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)translateZ(0)}#upload-container{text-align:center;background:#131317;border:1px solid #2a2a2f;border-radius:8px;padding:2rem 4rem;box-shadow:0 4px 15px rgba(0,0,0,.5)}#upload-info{text-align:center;color:#888;margin-bottom:2rem;padding:1rem 4rem;font-size:.85rem}#upload-info-text{color:#888;font-size:.85rem}#upload-button{cursor:pointer;background-color:#1e1e22;border-style:dashed;border-width:2px;border-radius:8px;padding:1rem 2rem;font-size:1.5rem;transition:transform .2s;animation:8s linear infinite textColor,8s linear infinite borderColor}#upload-button:hover{color:#fff;animation:8s linear infinite bgColor}#upload-button.drag-over{color:#fff;animation:8s linear infinite bgColor;transform:scale(1.02)}#upload-form{flex-direction:column;align-items:center;display:flex}#file-input{display:none}#progress-bar{background-color:#333;border-radius:5px;width:100%;height:10px;margin-top:1rem;display:none}#progress{border-radius:5px;width:0%;height:100%;transition:width .1s;animation:8s linear infinite bgColor}#history{width:80%;max-width:800px}h2{color:#ccc;text-align:center;border-bottom:1px solid #333;padding-bottom:.5rem}.history-item{background:#131317;border:1px solid #2a2a2f;border-radius:4px;grid-template:"filename filename""date mime"/1fr auto;align-items:center;gap:.25rem 1rem;margin-bottom:.5rem;padding:1rem;display:grid;box-shadow:0 2px 4px rgba(0,0,0,.3)}.upload-date{color:#888;grid-area:date;font-size:.85rem}.mime-type{color:#888;grid-area:mime;justify-self:end;font-family:Courier New,Courier,monospace;font-size:.85rem}.file-link-container{grid-area:filename;align-items:center;gap:0;width:100%;display:flex}.file-link{cursor:pointer;color:#b0b0b0;white-space:nowrap;text-overflow:ellipsis;text-align:right;box-sizing:border-box;background:#1e1e22;border-radius:4px 0 0 4px;flex:1;align-items:center;min-width:0;height:2.2rem;padding:.5rem;font-family:Courier New,Courier,monospace;text-decoration:none;display:flex;overflow:hidden}.file-link:active{color:#fff;animation:8s linear infinite bgColor}.delete-button{color:#fff;cursor:pointer;background:#ff4d4d;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;display:flex}.delete-button:hover{background:#e63939}.delete-button svg{width:16px;height:16px}.open-button{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:0 4px 4px 0;flex-shrink:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;text-decoration:none;display:flex}.open-button:hover{background:#6bb6ff}.open-button svg{width:16px;height:16px}#footer{text-align:center;background:#131317;border-top:1px solid #2a2a2f;padding:1rem;font-size:.9rem;position:fixed;bottom:0;left:0;right:0}#footer a{margin:0 .5rem;text-decoration:none;animation:8s linear infinite textColor}#footer a:hover{filter:brightness(1.2);text-decoration:underline}#footer span{color:#666;margin:0 .5rem}.modal{z-index:1000;background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:#131317;border-style:solid;border-width:2px;border-radius:8px;flex-direction:column;width:85%;max-width:700px;height:70vh;padding:0;animation:8s linear infinite borderColor;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.7)}.modal-header{border-bottom:1px solid #2a2a2f;justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h3{color:#e0e0e0;margin:0}.close-button{cursor:pointer;color:#888;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:24px;transition:background-color .2s,color .2s;display:flex}.close-button:hover{color:#e0e0e0;background-color:#2a2a2f}.modal-body{color:#b0b0b0;flex:1;padding:20px;line-height:1.5;overflow-y:auto}.modal-body p{margin:0 0 .75rem}.modal-body p:last-child{margin-bottom:0}.config-section{margin-bottom:1.5rem}.config-section:last-child{margin-bottom:0}.config-section h4{border-bottom:1px solid #2a2a2f;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600;animation:8s linear infinite textColor}.config-item{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.config-item:last-child{margin-bottom:0}.config-item label{color:#e0e0e0;flex-shrink:0;min-width:100px;font-weight:500}.config-value{word-break:break-all;background:#1e1e22;border:1px solid #333;border-radius:4px;flex:1;padding:.4rem .6rem;font-family:Courier New,Courier,monospace;font-size:.9rem;animation:8s linear infinite textColor}#upload-config-link{margin-left:10px;text-decoration:none;transition:color .2s;animation:8s linear infinite textColor}#upload-config-link:hover{filter:brightness(1.2);text-decoration:underline}