Tampia / style.css
Clemylia's picture
Upload 3 files
3e9c71c verified
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
background: linear-gradient(135deg, #ffb3d9, #ff99cc, #ffccdd);
min-height: 100vh;
padding: 20px;
}
.container {
max-width: 800px;
margin: 0 auto;
background: rgba(255, 255, 255, 0.95);
border-radius: 20px;
box-shadow: 0 10px 30px rgba(255, 105, 180, 0.3);
padding: 30px;
border: 3px solid #ff69b4;
}
.header {
text-align: center;
margin-bottom: 40px;
position: relative;
}
.neko-ears {
font-size: 2em;
margin-bottom: 10px;
animation: wiggle 2s infinite;
}
@keyframes wiggle {
0%, 100% { transform: rotate(0deg); }
25% { transform: rotate(-5deg); }
75% { transform: rotate(5deg); }
}
.title {
color: #ff1493;
font-size: 2.5em;
margin-bottom: 10px;
text-shadow: 2px 2px 4px rgba(255, 105, 180, 0.5);
}
.subtitle {
color: #d63384;
font-size: 1.1em;
font-style: italic;
}
.upload-section {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-bottom: 30px;
}
.upload-group {
display: flex;
flex-direction: column;
align-items: center;
}
.upload-box {
width: 100%;
height: 120px;
border: 3px dashed #ff69b4;
border-radius: 15px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
background: linear-gradient(45deg, #fff0f5, #ffe4e6);
}
.upload-box:hover {
border-color: #ff1493;
background: linear-gradient(45deg, #ffe4e6, #ffb3d9);
transform: translateY(-2px);
}
.upload-icon {
font-size: 2em;
margin-bottom: 5px;
}
.upload-text {
color: #d63384;
font-weight: bold;
}
.file-name {
margin-top: 10px;
color: #ff1493;
font-size: 0.9em;
text-align: center;
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.settings-section {
background: #fff0f5;
padding: 20px;
border-radius: 15px;
margin-bottom: 30px;
border: 2px solid #ffb3d9;
}
.settings-section h3 {
color: #d63384;
margin-bottom: 20px;
text-align: center;
}
.setting-group {
margin-bottom: 15px;
display: flex;
align-items: center;
justify-content: space-between;
}
.setting-group label {
color: #d63384;
font-weight: bold;
flex: 1;
}
.pink-select, .pink-input {
flex: 1;
margin-left: 15px;
padding: 8px 12px;
border: 2px solid #ff69b4;
border-radius: 10px;
background: white;
color: #d63384;
font-size: 1em;
}
.pink-select:focus, .pink-input:focus {
outline: none;
border-color: #ff1493;
box-shadow: 0 0 5px rgba(255, 20, 147, 0.3);
}
.analyze-button {
width: 100%;
padding: 15px;
background: linear-gradient(45deg, #ff69b4, #ff1493);
color: white;
border: none;
border-radius: 15px;
font-size: 1.2em;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
}
.analyze-button:hover:not(:disabled) {
background: linear-gradient(45deg, #ff1493, #dc143c);
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(255, 20, 147, 0.4);
}
.analyze-button:disabled {
background: #cccccc;
cursor: not-allowed;
}
.neko-icon {
font-size: 1.1em;
}
.loading {
text-align: center;
margin: 30px 0;
}
.neko-loading {
font-size: 3em;
animation: bounce 1s infinite;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
.results {
margin-top: 30px;
padding: 20px;
background: #fff0f5;
border-radius: 15px;
border: 2px solid #ffb3d9;
}
.results h3 {
color: #d63384;
margin-bottom: 20px;
text-align: center;
}
.duration-info {
background: white;
padding: 15px;
border-radius: 10px;
margin-bottom: 20px;
text-align: center;
color: #d63384;
font-weight: bold;
border: 1px solid #ff69b4;
}
.timeline {
background: white;
border: 2px solid #ff69b4;
border-radius: 10px;
padding: 20px;
margin-bottom: 20px;
min-height: 100px;
position: relative;
}
.timeline-bar {
height: 40px;
background: linear-gradient(to right, #ffb3d9, #ff99cc);
border-radius: 20px;
position: relative;
margin: 20px 0;
}
.marker {
position: absolute;
top: -10px;
font-size: 1.5em;
transform: translateX(-50%);
}
.marker.rhythm-good { color: #00ff00; }
.marker.rhythm-bad { color: #ff0000; }
.marker.pitch-good { color: #00ff00; }
.marker.pitch-bad { color: #ff0000; }
.advice {
background: white;
padding: 20px;
border-radius: 10px;
border: 2px solid #ff69b4;
}
.advice h4 {
color: #d63384;
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 10px;
}
.advice-item {
background: #fff0f5;
padding: 10px;
margin: 10px 0;
border-radius: 8px;
border-left: 4px solid #ff69b4;
}
.documentation-section {
background: linear-gradient(135deg, #fff0f8, #ffe6f2);
border: 2px solid #ff69b4;
border-radius: 15px;
padding: 20px;
margin: 20px 0;
}
.documentation-section h3 {
color: #d63384;
margin-bottom: 15px;
text-align: center;
}
.doc-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.documentation-section:hover .doc-content {
max-height: 500px;
}
.doc-step {
display: flex;
align-items: flex-start;
margin: 15px 0;
padding: 10px;
background: white;
border-radius: 10px;
border-left: 4px solid #ff69b4;
}
.step-number {
background: #ff69b4;
color: white;
border-radius: 50%;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.doc-step ul {
margin: 5px 0;
padding-left: 20px;
}
.doc-step li {
margin: 5px 0;
}
.legend {
margin-top: 10px;
padding: 10px;
background: #f8f9fa;
border-radius: 8px;
}
.legend-item {
display: flex;
align-items: center;
margin: 8px 0;
gap: 10px;
}
.marker-example {
font-size: 1.2em;
padding: 2px 6px;
border-radius: 4px;
background: white;
border: 1px solid #ddd;
}
.marker-example.rhythm-good { color: #00ff00; }
.marker-example.rhythm-bad { color: #ff0000; }
.marker-example.pitch-good {
color: #00aa00;
font-weight: bold;
}
.marker-example.pitch-bad {
color: #aa0000;
font-weight: bold;
}
.hidden {
display: none;
}
@media (max-width: 600px) {
.upload-section {
grid-template-columns: 1fr;
}
.setting-group {
flex-direction: column;
align-items: stretch;
}
.setting-group label {
margin-bottom: 5px;
}
.pink-select, .pink-input {
margin-left: 0;
}
}