LegacyLauncher/style.css
gardenGnostic aff0d329ba
ui fixes
2026-03-05 00:33:04 +01:00

408 lines
7.7 KiB
CSS

@font-face {
font-family: 'Minecraft';
src: url('Minecraft.ttf') format('truetype');
}
:root {
--mc-gui-bg: #c6c6c6;
--mc-progress-bg: #313131;
--mc-progress-fill: #55ff55;
--mc-border-dark: #555;
--mc-border-light: #fff;
--mc-button-bg: #6e6e6e;
--mc-button-hover: #7e7e7e;
}
* {
box-sizing: border-box;
-webkit-font-smoothing: none;
}
body {
margin: 0;
padding: 0;
height: 100vh;
width: 100vw;
display: flex;
flex-direction: column;
background-color: var(--mc-gui-bg);
font-family: 'Minecraft', monospace;
overflow: hidden;
image-rendering: pixelated;
-webkit-user-select: none;
user-select: none;
border: 2px solid #000;
}
/* Title Bar */
.title-bar {
height: 32px;
background: #222;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 10px;
-webkit-app-region: drag;
z-index: 1000;
border-bottom: 2px solid #000;
}
.title-bar-text {
color: #aaa;
font-size: 16px;
text-shadow: 1px 1px 0 #000;
}
.window-controls {
display: flex;
gap: 5px;
-webkit-app-region: no-drag;
}
.win-btn {
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
padding-bottom: 2px;
cursor: pointer;
color: #aaa;
font-size: 18px;
transition: all 0.1s;
}
.win-btn:hover {
background: #444;
color: #fff;
}
.win-btn.close:hover {
background: #c42b1c;
}
.content-area {
flex-grow: 1;
background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('minecraft.jpg');
background-size: cover;
background-position: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
}
.mc-logo-img {
width: 650px;
max-width: 95%;
filter: drop-shadow(6px 6px 0px rgba(0,0,0,0.6));
margin-bottom: 50px;
transition: transform 0.3s ease;
}
.mc-logo-img:hover {
transform: scale(1.02);
}
.btn-mc {
width: 500px;
max-width: 90%;
height: 60px;
background-color: var(--mc-button-bg);
border: 2px solid #000;
color: #e0e0e0;
font-size: 24px;
display: flex;
align-items: center;
justify-content: center;
padding-bottom: 6px;
cursor: pointer;
box-shadow: inset -3px -3px 0px #333, inset 3px 3px 0px #aaa;
margin-bottom: 16px;
position: relative;
transition: transform 0.05s;
}
.btn-mc:hover:not(.disabled) {
background-color: var(--mc-button-hover);
color: #fff;
outline: 2px solid #fff;
z-index: 5;
}
.btn-mc:active:not(.disabled) {
box-shadow: inset 3px 3px 0px #333, inset -3px -3px 0px #aaa;
transform: translateY(2px);
}
.btn-mc.disabled, .btn-mc.running {
background-color: #4e4e4e;
color: #888;
cursor: default;
box-shadow: inset -3px -3px 0px #222, inset 3px 3px 0px #666;
opacity: 0.8;
transform: none !important;
}
.btn-mc.running {
color: #55ff55;
text-shadow: 2px 2px 0 #000;
}
.btn-play {
height: 96px;
font-size: 44px;
margin-bottom: 36px;
color: #fff;
text-shadow: 2px 2px 0 #000;
}
.version-row {
display: flex;
width: 500px;
max-width: 90%;
margin-bottom: 28px;
align-items: center;
}
.version-label {
color: white;
font-size: 24px;
margin-right: 15px;
text-shadow: 2px 2px 0 #000;
white-space: nowrap;
}
.version-select-box {
flex-grow: 1;
height: 56px;
background: #000;
border: 2px solid #555;
display: flex;
align-items: center;
padding: 0 15px 6px 15px;
color: white;
font-size: 24px;
cursor: pointer;
position: relative;
transition: border-color 0.2s;
}
.version-select-box:hover {
border-color: #fff;
}
.select-arrow {
width: 48px;
height: 52px;
background: #6e6e6e;
border-left: 2px solid #555;
display: flex;
align-items: center;
justify-content: center;
color: white;
position: absolute;
right: 0;
}
/* Progress Bar Styling */
.progress-container {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 50px;
background: rgba(0,0,0,0.9);
border-top: 4px solid #000;
display: none;
flex-direction: column;
justify-content: center;
padding: 0 30px;
z-index: 50;
animation: slideUp 0.3s ease-out;
}
@keyframes slideUp {
from { transform: translateY(100%); }
to { transform: translateY(0); }
}
.progress-bar-bg {
width: 100%;
height: 16px;
background: var(--mc-progress-bg);
border: 2px solid #000;
position: relative;
}
.progress-bar-fill {
width: 0%;
height: 100%;
background: var(--mc-progress-fill);
box-shadow: inset 0 3px 0 rgba(255,255,255,0.4);
transition: width 0.2s ease-out;
}
.progress-text {
color: #fff;
font-size: 20px;
text-shadow: 2px 2px 0 #000;
margin-bottom: 6px;
text-align: center;
}
/* Settings Modal */
.modal-overlay {
position: absolute;
inset: 0;
background: rgba(0,0,0,0.9);
display: none;
align-items: center;
justify-content: center;
z-index: 150;
backdrop-filter: blur(4px);
}
.modal-box {
width: 750px;
max-width: 95%;
background: var(--mc-gui-bg);
border: 4px solid #000;
padding: 50px;
display: flex;
flex-direction: column;
align-items: center;
box-shadow: inset 4px 4px 0 #fff;
animation: modalPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes modalPop {
from { transform: scale(0.8); opacity: 0; }
to { transform: scale(1); opacity: 1; }
}
.modal-title {
font-size: 42px;
color: #333;
margin-bottom: 30px;
text-shadow: 2px 2px 0 #fff;
text-align: center;
}
.mc-input-group {
width: 100%;
margin-bottom: 20px;
}
.mc-label {
display: block;
color: #444;
font-size: 22px;
margin-bottom: 6px;
}
.mc-input {
width: 100%;
background: #000;
border: 2px solid #555;
color: white;
padding: 12px;
font-size: 22px;
outline: none;
transition: border-color 0.2s;
}
.mc-input:focus {
border-color: #fff;
}
#loader {
position: absolute;
inset: 0;
background: rgba(0,0,0,1);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: white;
font-size: 36px;
z-index: 2000;
background-image: url('minecraft.jpg');
background-size: cover;
background-position: center;
}
#loader::before {
content: '';
position: absolute;
inset: 0;
background: rgba(0,0,0,0.8);
}
.loader-content {
position: relative;
z-index: 1;
text-align: center;
}
.loader-spinner {
width: 80px;
height: 80px;
border: 8px solid #333;
border-top: 8px solid var(--mc-progress-fill);
border-radius: 50%;
margin: 0 auto 20px;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
#toast {
position: fixed;
bottom: 80px;
left: 50%;
transform: translateX(-50%);
background: rgba(0,0,0,0.95);
color: #fff;
padding: 15px 40px;
border: 3px solid #fff;
font-size: 24px;
display: none;
z-index: 3000;
text-align: center;
box-shadow: 0 0 20px rgba(0,0,0,0.5);
}
select.hidden-select {
position: absolute;
inset: 0;
opacity: 0;
cursor: pointer;
width: 100%;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 12px;
}
::-webkit-scrollbar-track {
background: #333;
border-left: 2px solid #000;
}
::-webkit-scrollbar-thumb {
background: #6e6e6e;
border: 2px solid #000;
box-shadow: inset -2px -2px 0 #333, inset 2px 2px 0 #aaa;
}
::-webkit-scrollbar-thumb:hover {
background: #7e7e7e;
}