trekpdf-replicator / style.css
kirikir13's picture
#ADD The ability Python PDF and HTML files as well as.Ininifil as part of the accepted converted to PD ankle gets the the unit if we make it look more like the Star Trek replicator blacks and Blues and hues and yellows I Star Trek theme herediscription i would lie fallowed please: "# Futuristic Drag-and-Drop User Interface Inspired by the Star Trek Replicator: Comprehensive Design and Implementation Report
52ec77f verified
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;700&family=Roboto:wght@300;400;500;700&display=swap');
:root {
--star-trek-gold: #DAA520;
--star-trek-blue: #5B9BD5;
--star-trek-red: #C00000;
--star-trek-gray: #2D2D2D;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Roboto', sans-serif;
background: linear-gradient(135deg, #0a0a1a 0%, #1a1a2e 100%);
color: #ffffff;
min-height: 100vh;
position: relative;
overflow-x: hidden;
}
body::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background:
radial-gradient(circle at 10% 20%, rgba(92, 107, 192, 0.1) 0%, transparent 20%),
radial-gradient(circle at 90% 80%, rgba(126, 87, 194, 0.1) 0%, transparent 20%);
z-index: -1;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Orbitron', sans-serif;
letter-spacing: 1px;
}
.transporter-ring {
width: 150px;
height: 150px;
border: 3px solid var(--star-trek-blue);
border-radius: 50%;
position: relative;
animation: ring-pulse 2s infinite;
}
.transporter-core {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 40px;
height: 40px;
background: var(--star-trek-blue);
border-radius: 50%;
box-shadow: 0 0 20px var(--star-trek-blue);
animation: core-pulse 1.5s infinite;
}
.transporter-beam {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 8px;
height: 200px;
background: linear-gradient(to bottom,
transparent 0%,
var(--star-trek-blue) 20%,
var(--star-trek-blue) 80%,
transparent 100%);
opacity: 0.7;
animation: beam-flicker 0.5s infinite;
}
@keyframes ring-pulse {
0% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(92, 107, 192, 0.7);
}
70% {
transform: scale(1);
box-shadow: 0 0 0 20px rgba(92, 107, 192, 0);
}
100% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(92, 107, 192, 0);
}
}
@keyframes core-pulse {
0% {
box-shadow: 0 0 0 0 rgba(92, 107, 192, 0.7);
}
70% {
box-shadow: 0 0 0 15px rgba(92, 107, 192, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(92, 107, 192, 0);
}
}
@keyframes beam-flicker {
0%, 100% {
opacity: 0.7;
}
50% {
opacity: 0.3;
}
}
.file-item {
transition: all 0.3s ease;
}
.file-item:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
.completed-file {
background: linear-gradient(135deg, #1a2a4a 0%, #2a3a5a 100%);
border-radius: 12px;
padding: 20px;
text-align: center;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
border: 1px solid rgba(218, 165, 32, 0.3);
}
.completed-file:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(218, 165, 32, 0.2);
border-color: rgba(218, 165, 32, 0.6);
}
.completed-file::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--star-trek-gold), #5B9BD5, var(--star-trek-red));
}
.ribbon {
position: absolute;
top: -10px;
right: -10px;
width: 80px;
height: 80px;
overflow: hidden;
}
.ribbon::before {
content: "";
position: absolute;
width: 15px;
height: 80px;
background: var(--star-trek-gold);
transform: rotate(45deg);
top: 15px;
right: -30px;
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}
.drop-zone-active {
background-color: rgba(59, 130, 246, 0.1);
border-color: #3b82f6;
}
.file-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
margin-right: 12px;
}
.file-item {
display: flex;
align-items: center;
padding: 12px;
background: rgba(255, 255, 255, 0.05);
border-radius: 8px;
margin-bottom: 8px;
transition: all 0.2s ease;
}
.file-item:hover {
background: rgba(255, 255, 255, 0.1);
}
.file-info {
flex-grow: 1;
}
.file-name {
font-weight: 500;
margin-bottom: 4px;
}
.file-size {
font-size: 0.8rem;
color: #aaa;
}
.remove-file {
background: none;
border: none;
color: #ff6b6b;
cursor: pointer;
padding: 4px;
border-radius: 4px;
transition: background 0.2s;
}
.remove-file:hover {
background: rgba(255, 255, 255, 0.1);
}
.processing-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
backdrop-filter: blur(5px);
}
.transporter-animation {
text-align: center;
padding: 30px;
background: rgba(30, 30, 60, 0.9);
border-radius: 20px;
border: 2px solid var(--star-trek-blue);
box-shadow: 0 0 30px rgba(92, 107, 192, 0.5);
}
.transporter-animation h3 {
color: var(--star-trek-blue);
margin-bottom: 20px;
font-size: 1.5rem;
}
.transporter-ring-large {
width: 200px;
height: 200px;
margin: 0 auto 20px;
position: relative;
}
.transporter-core-large {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 60px;
height: 60px;
background: var(--star-trek-blue);
border-radius: 50%;
box-shadow: 0 0 30px var(--star-trek-blue);
}
.transporter-beam-large {
position: absolute;
top: -50px;
left: 50%;
transform: translateX(-50%);
width: 12px;
height: 300px;
background: linear-gradient(to bottom,
transparent 0%,
var(--star-trek-blue) 20%,
var(--star-trek-blue) 80%,
transparent 100%);
opacity: 0.7;
}
.status-text {
font-size: 1.2rem;
margin-top: 20px;
color: #ddd;
}
.sparkle {
position: absolute;
width: 8px;
height: 8px;
background: white;
border-radius: 50%;
pointer-events: none;
opacity: 0;
}
@keyframes sparkle {
0% {
transform: scale(0);
opacity: 1;
}
50% {
opacity: 1;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}
.save-modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #1a1a2e;
border: 2px solid var(--star-trek-gold);
border-radius: 12px;
padding: 30px;
z-index: 1001;
width: 90%;
max-width: 500px;
box-shadow: 0 0 30px rgba(218, 165, 32, 0.3);
}
.modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
z-index: 1000;
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid rgba(218, 165, 32, 0.3);
}
.modal-header h3 {
color: var(--star-trek-gold);
font-size: 1.4rem;
}
.close-modal {
background: none;
border: none;
color: #aaa;
font-size: 1.5rem;
cursor: pointer;
transition: color 0.2s;
}
.close-modal:hover {
color: #fff;
}
.modal-body {
margin-bottom: 25px;
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
margin-bottom: 8px;
color: #ddd;
}
.form-control {
width: 100%;
padding: 12px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid #444;
border-radius: 6px;
color: #fff;
font-size: 1rem;
}
.form-control:focus {
outline: none;
border-color: var(--star-trek-gold);
background: rgba(218, 165, 32, 0.1);
}
.modal-footer {
display: flex;
justify-content: flex-end;
gap: 12px;
}
.btn {
padding: 10px 20px;
border-radius: 6px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
border: none;
font-size: 1rem;
}
.btn-primary {
background: var(--star-trek-gold);
color: #000;
}
.btn-primary:hover {
background: #e6b800;
transform: translateY(-2px);
}
.btn-secondary {
background: #444;
color: #fff;
}
.btn-secondary:hover {
background: #555;
transform: translateY(-2px);
}
.btn-success {
background: #28a745;
color: #fff;
}
.btn-success:hover {
background: #218838;
transform: translateY(-2px);
}