vbrowser-modified / signin-styles.css
AstraOS's picture
Upload 19 files
e7a4412 verified
:root {
--zen-background: #f0f4f0;
--moss-green: #6b8e23;
--stone-gray: #8b8989;
--bamboo-text: #2c4b36;
--water-accent: #87ceeb;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Sans JP', sans-serif;
background-color: var(--zen-background);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
overflow: hidden;
perspective: 1000px;
}
.zen-container {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
}
.signin-panel {
position: relative;
width: 400px;
height: 550px;
background-color: white;
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
transition: all 0.3s ease;
}
.moss-layer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, rgba(107, 142, 35, 0.1), rgba(107, 142, 35, 0.03));
z-index: 1;
}
.signin-content {
position: relative;
z-index: 2;
padding: 40px;
text-align: center;
}
.stone-emblem {
width: 100px;
height: 100px;
margin: 0 auto 20px;
transition: transform 0.5s ease;
}
.stone-emblem:hover {
transform: rotate(10deg);
}
.stone-emblem svg {
width: 100%;
height: 100%;
}
h1 {
color: var(--bamboo-text);
margin-bottom: 30px;
font-weight: 300;
font-size: 1.2em;
line-height: 1.6;
}
.input-stone {
position: relative;
margin-bottom: 20px;
}
.input-stone input {
width: 100%;
padding: 15px 15px 15px 50px;
border: 1px solid var(--moss-green);
border-radius: 10px;
background-color: rgba(107, 142, 35, 0.05);
color: var(--bamboo-text);
outline: none;
transition: all 0.3s ease;
}
.input-stone input:focus {
box-shadow: 0 0 10px rgba(107, 142, 35, 0.3);
border-color: var(--water-accent);
}
.stone-icon {
position: absolute;
left: 15px;
top: 50%;
transform: translateY(-50%);
opacity: 0.6;
}
.enter-gate {
width: 100%;
padding: 15px;
border: 2px solid var(--moss-green);
border-radius: 10px;
background-color: transparent;
color: var(--bamboo-text);
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
}
.enter-gate:hover {
background-color: var(--moss-green);
color: white;
}
.enter-gate:active {
transform: scale(0.95);
}
@keyframes shake {
0%, 100% { transform: translateX(0); }
25% { transform: translateX(-10px); }
75% { transform: translateX(10px); }
}
.error-message {
text-align: center;
margin-top: 10px;
color: #ff4444;
font-size: 0.9em;
}
.input-stone.error input {
border-color: #ff4444;
box-shadow: 0 0 10px rgba(255, 68, 68, 0.2);
}
.enter-gate.loading {
position: relative;
color: transparent;
}
.enter-gate.loading::after {
content: "";
position: absolute;
left: 50%;
top: 50%;
width: 20px;
height: 20px;
margin: -10px 0 0 -10px;
border: 2px solid #fff;
border-top-color: transparent;
border-radius: 50%;
animation: loading-spin 1s linear infinite;
}
@keyframes loading-spin {
to { transform: rotate(360deg); }
}
.zen-footer {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
.zen-footer a {
color: var(--bamboo-text);
text-decoration: none;
font-size: 0.8em;
opacity: 0.7;
transition: color 0.3s ease;
}
.zen-footer a:hover {
color: var(--water-accent);
}
@media (max-width: 450px) {
.signin-panel {
width: 95%;
height: auto;
}
}