From 943cc73163681198d74fb7d901222417a5e6814e Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Fri, 20 Feb 2026 02:55:20 -0500 Subject: [PATCH] style: Enhance PathRecorder.css for improved aesthetics and consistency with Minecraft theme --- client/src/components/PathRecorder.css | 213 +++++++++++++------------ 1 file changed, 115 insertions(+), 98 deletions(-) diff --git a/client/src/components/PathRecorder.css b/client/src/components/PathRecorder.css index e386c1a..f687608 100644 --- a/client/src/components/PathRecorder.css +++ b/client/src/components/PathRecorder.css @@ -1,9 +1,13 @@ +/* ============================================ + Minecraft-Themed Path Recorder + ============================================ */ + .path-recorder { padding: 1.5rem; - background: #0f172a; - border-radius: 0.5rem; + background: #2c2c2c; height: 100%; overflow-y: auto; + font-family: 'Silkscreen', 'Courier New', monospace; } .recorder-header { @@ -18,23 +22,23 @@ .recorder-header h2 { font-size: 1.5rem; font-weight: 700; - color: #f9fafb; + color: #ffff55; margin: 0; + text-shadow: 2px 2px 0 #1a1a1a; } .selected-turtle-badge { padding: 0.5rem 1rem; - background: #1e293b; - border-radius: 0.5rem; - color: #10b981; + background: #2d6b1a33; + border: 2px solid #55ff55; + color: #55ff55; font-weight: 600; font-size: 0.875rem; - border: 1px solid #10b981; } .message { padding: 0.75rem 1rem; - border-radius: 0.5rem; + border: 2px solid; margin-bottom: 1rem; font-size: 0.875rem; font-weight: 600; @@ -42,21 +46,21 @@ } .message.success { - background: #10b98133; - color: #10b981; - border: 1px solid #10b981; + background: #2d6b1a33; + color: #55ff55; + border-color: #55ff55; } .message.error { - background: #ef444433; - color: #ef4444; - border: 1px solid #ef4444; + background: #6b1a1a33; + color: #ff5555; + border-color: #ff5555; } .message.info { - background: #3b82f633; - color: #3b82f6; - border: 1px solid #3b82f6; + background: #1a4a6b33; + color: #55ffff; + border-color: #55ffff; } @keyframes slideIn { @@ -72,17 +76,19 @@ /* Recording Section */ .recording-section { - background: #1e293b; - border-radius: 0.5rem; + background: #3b3b3b; + border: 2px solid #1a1a1a; padding: 1.5rem; margin-bottom: 1.5rem; + box-shadow: inset 0 -2px 0 #2a2a2a, inset 0 2px 0 #555; } .recording-section h3 { font-size: 1.125rem; font-weight: 600; - color: #f9fafb; + color: #e0e0e0; margin: 0 0 1rem 0; + text-shadow: 1px 1px 0 #1a1a1a; } .record-form { @@ -94,36 +100,36 @@ .record-form input, .record-form textarea { padding: 0.75rem; - background: #0f172a; - border: 1px solid #334155; - border-radius: 0.375rem; - color: #e5e7eb; + background: #1a1a1a; + border: 2px solid #4b4b4b; + color: #e0e0e0; font-size: 0.875rem; - font-family: inherit; + font-family: 'Silkscreen', 'Courier New', monospace; } .record-form input:focus, .record-form textarea:focus { outline: none; - border-color: #3b82f6; + border-color: #55ffff; } .record-btn { padding: 0.875rem 1.5rem; - background: #ef4444; - border: none; - border-radius: 0.5rem; + background: #aa0000; + border: 2px solid #1a1a1a; color: white; font-weight: 700; font-size: 1rem; cursor: pointer; - transition: all 0.2s; + transition: all 0.1s; + font-family: 'Silkscreen', 'Courier New', monospace; + text-shadow: 1px 1px 0 #1a1a1a; + box-shadow: inset 0 2px 0 #dd3333, inset 0 -2px 0 #770000; } .record-btn:hover:not(:disabled) { - background: #dc2626; - transform: translateY(-2px); - box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4); + background: #cc0000; + box-shadow: inset 0 2px 0 #ff4444, inset 0 -2px 0 #880000; } .record-btn:disabled { @@ -141,7 +147,8 @@ .waypoint-counter { font-size: 1.5rem; font-weight: 700; - color: #ef4444; + color: #ff5555; + text-shadow: 1px 1px 0 #1a1a1a; animation: pulse 2s infinite; } @@ -157,51 +164,53 @@ .recording-info { text-align: center; padding: 1rem; - background: #0f172a; - border-radius: 0.375rem; + background: #2c2c2c; + border: 2px solid #1a1a1a; width: 100%; } .recording-info p { margin: 0.25rem 0; - color: #94a3b8; + color: #a0a0a0; font-size: 0.875rem; } .recording-info strong { - color: #e5e7eb; + color: #e0e0e0; } .stop-btn { padding: 0.875rem 2rem; - background: #3b82f6; - border: none; - border-radius: 0.5rem; + background: #4a8c2a; + border: 2px solid #1a1a1a; color: white; font-weight: 700; font-size: 1rem; cursor: pointer; - transition: all 0.2s; + transition: all 0.1s; + font-family: 'Silkscreen', 'Courier New', monospace; + text-shadow: 1px 1px 0 #1a1a1a; + box-shadow: inset 0 2px 0 #6ab04c, inset 0 -2px 0 #2d6b1a; } .stop-btn:hover { - background: #2563eb; - transform: translateY(-2px); - box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4); + background: #5a9c3a; + box-shadow: inset 0 2px 0 #7bc05c, inset 0 -2px 0 #3d7b2a; } /* Paths Section */ .paths-section h3 { font-size: 1.125rem; font-weight: 600; - color: #f9fafb; + color: #55ffff; margin-bottom: 1rem; + text-shadow: 1px 1px 0 #1a1a1a; } .loading { text-align: center; padding: 2rem; - color: #94a3b8; + color: #a0a0a0; font-size: 0.875rem; } @@ -212,15 +221,15 @@ } .path-card { - background: #1e293b; - border-radius: 0.5rem; + background: #3b3b3b; + border: 2px solid #1a1a1a; padding: 1.5rem; - transition: all 0.2s; + transition: all 0.1s; + box-shadow: inset 0 -2px 0 #2a2a2a, inset 0 2px 0 #555; } .path-card:hover { - background: #334155; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); + background: #4b4b4b; } .path-card-header { @@ -230,13 +239,13 @@ .path-info h4 { font-size: 1rem; font-weight: 600; - color: #e5e7eb; + color: #e0e0e0; margin: 0 0 0.5rem 0; } .path-description { font-size: 0.875rem; - color: #94a3b8; + color: #a0a0a0; margin: 0.5rem 0; font-style: italic; } @@ -246,7 +255,7 @@ gap: 1rem; flex-wrap: wrap; font-size: 0.75rem; - color: #64748b; + color: #7b7b7b; margin-top: 0.75rem; } @@ -263,44 +272,45 @@ .path-actions button { padding: 0.5rem 1rem; - border: none; - border-radius: 0.375rem; + border: 2px solid #1a1a1a; font-size: 0.875rem; - font-weight: 600; + font-weight: 700; cursor: pointer; - transition: all 0.2s; + transition: all 0.1s; + font-family: 'Silkscreen', 'Courier New', monospace; + text-shadow: 1px 1px 0 #1a1a1a; } .view-btn { - background: #3b82f6; + background: #345ec3; color: white; + box-shadow: inset 0 2px 0 #5577dd, inset 0 -2px 0 #223399; } .view-btn:hover { - background: #2563eb; - transform: translateY(-2px); + background: #4a6ed3; } .play-btn { - background: #10b981; + background: #4a8c2a; color: white; + box-shadow: inset 0 2px 0 #6ab04c, inset 0 -2px 0 #2d6b1a; } .play-btn:hover { - background: #059669; - transform: translateY(-2px); + background: #5a9c3a; } .delete-btn { - background: #ef4444; + background: #aa0000; color: white; padding: 0.5rem; margin-left: auto; + box-shadow: inset 0 2px 0 #dd3333, inset 0 -2px 0 #770000; } .delete-btn:hover { - background: #dc2626; - transform: scale(1.1); + background: #cc0000; } /* Empty State */ @@ -318,13 +328,13 @@ .empty-title { font-size: 1.25rem; font-weight: 600; - color: #e5e7eb; + color: #e0e0e0; margin-bottom: 0.5rem; } .empty-text { font-size: 0.875rem; - color: #94a3b8; + color: #a0a0a0; } /* Path Details Modal */ @@ -334,7 +344,7 @@ left: 0; right: 0; bottom: 0; - background: rgba(0, 0, 0, 0.8); + background: rgba(0, 0, 0, 0.85); display: flex; align-items: center; justify-content: center; @@ -353,13 +363,14 @@ } .modal-content { - background: #1e293b; - border-radius: 0.75rem; + background: #3b3b3b; + border: 3px solid #1a1a1a; max-width: 800px; width: 100%; max-height: 90vh; overflow-y: auto; animation: slideUp 0.3s; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), inset 0 -2px 0 #2a2a2a, inset 0 2px 0 #555; } @keyframes slideUp { @@ -378,30 +389,34 @@ justify-content: space-between; align-items: center; padding: 1.5rem; - border-bottom: 1px solid #334155; + border-bottom: 2px solid #4b4b4b; + background: #6b4e28; + box-shadow: inset 0 2px 0 #8b6d3c, inset 0 -2px 0 #4a3520; } .modal-header h3 { font-size: 1.25rem; font-weight: 700; - color: #f9fafb; + color: #ffff55; margin: 0; + text-shadow: 2px 2px 0 #1a1a1a; } .close-btn { padding: 0.5rem 0.75rem; - background: transparent; - border: none; - color: #94a3b8; - font-size: 1.5rem; + background: #aa0000; + border: 2px solid #1a1a1a; + color: white; + font-size: 1.25rem; cursor: pointer; - transition: all 0.2s; + transition: all 0.1s; line-height: 1; + font-weight: 700; + box-shadow: inset 0 2px 0 #dd3333, inset 0 -2px 0 #770000; } .close-btn:hover { - color: #e5e7eb; - transform: scale(1.1); + background: #cc0000; } .modal-body { @@ -409,7 +424,7 @@ } .modal-description { - color: #94a3b8; + color: #a0a0a0; font-style: italic; margin-bottom: 1.5rem; } @@ -418,8 +433,9 @@ .path-visualization h4 { font-size: 1rem; font-weight: 600; - color: #f9fafb; + color: #ffaa00; margin: 0 0 1rem 0; + text-shadow: 1px 1px 0 #1a1a1a; } .waypoints-grid { @@ -434,8 +450,8 @@ align-items: center; gap: 0.5rem; padding: 0.5rem; - background: #0f172a; - border-radius: 0.375rem; + background: #2c2c2c; + border: 2px solid #1a1a1a; font-size: 0.75rem; } @@ -445,21 +461,21 @@ justify-content: center; width: 1.5rem; height: 1.5rem; - background: #3b82f6; + background: #4a8c2a; color: white; - border-radius: 50%; font-weight: 700; font-size: 0.7rem; + border: 2px solid #1a1a1a; } .waypoint-coords { - color: #e5e7eb; - font-family: 'Courier New', monospace; + color: #e0e0e0; + font-family: 'Silkscreen', 'Courier New', monospace; } .waypoint-action { margin-left: auto; - color: #10b981; + color: #55ff55; font-size: 0.7rem; } @@ -471,25 +487,26 @@ .stat { padding: 1rem; - background: #0f172a; - border-radius: 0.375rem; + background: #2c2c2c; + border: 2px solid #1a1a1a; } -.stat-label { +.stat .stat-label { display: block; font-size: 0.75rem; - color: #94a3b8; + color: #a0a0a0; margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.05em; } -.stat-value { +.stat .stat-value { display: block; font-size: 1rem; font-weight: 600; - color: #3b82f6; - font-family: 'Courier New', monospace; + color: #55ffff; + font-family: 'Silkscreen', 'Courier New', monospace; + text-shadow: 1px 1px 0 #1a1a1a; } /* Mobile Responsive */