8742 lines
154 KiB
CSS
8742 lines
154 KiB
CSS
/* =====================================================
|
|
CASTAD Design System - CSS Variables & Component Classes
|
|
===================================================== */
|
|
|
|
/* =====================================================
|
|
CSS Variables - Design Tokens
|
|
===================================================== */
|
|
:root {
|
|
/* Primary Colors */
|
|
--color-mint: #a6ffea;
|
|
--color-mint-hover: #8affda;
|
|
--color-mint-glow: rgba(166, 255, 234, 0.6);
|
|
--color-mint-10: rgba(166, 255, 234, 0.1);
|
|
--color-mint-20: rgba(166, 255, 234, 0.2);
|
|
--color-mint-30: rgba(166, 255, 234, 0.3);
|
|
--color-mint-50: rgba(166, 255, 234, 0.5);
|
|
|
|
--color-purple: #a682ff;
|
|
--color-purple-hover: #9570f0;
|
|
--color-purple-glow: rgba(166, 130, 255, 0.2);
|
|
--color-purple-80: rgba(166, 130, 255, 0.8);
|
|
|
|
/* Background Colors - Teal-600 based */
|
|
--color-bg-dark: #002224;
|
|
--color-bg-darker: #001a1c;
|
|
--color-bg-card: #003538;
|
|
--color-bg-card-inner: #004548;
|
|
|
|
/* Text Colors */
|
|
--color-text-white: #ffffff;
|
|
--color-text-gray-300: #d1d5db;
|
|
--color-text-gray-400: #9ca3af;
|
|
--color-text-gray-500: #6b7280;
|
|
|
|
/* Border Colors */
|
|
--color-border-white-5: rgba(255, 255, 255, 0.05);
|
|
--color-border-white-10: rgba(255, 255, 255, 0.1);
|
|
--color-border-gray-600: #4b5563;
|
|
--color-border-gray-700: #374151;
|
|
|
|
/* Shadows */
|
|
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
--shadow-purple: 0 10px 15px -3px rgba(166, 130, 255, 0.2);
|
|
--shadow-mint-glow: 0 0 10px rgba(166, 255, 234, 0.6);
|
|
|
|
/* Spacing */
|
|
--spacing-page: 1.5rem;
|
|
--spacing-page-md: 2rem;
|
|
|
|
/* Border Radius */
|
|
--radius-sm: 0.5rem;
|
|
--radius-md: 0.75rem;
|
|
--radius-lg: 1rem;
|
|
--radius-xl: 1.25rem;
|
|
--radius-2xl: 1rem;
|
|
--radius-3xl: 1.5rem;
|
|
--radius-full: 9999px;
|
|
|
|
/* Font Sizes */
|
|
--text-xs: 0.75rem;
|
|
--text-sm: 0.875rem;
|
|
--text-base: 1rem;
|
|
--text-lg: 1.125rem;
|
|
--text-xl: 1.25rem;
|
|
--text-2xl: 1.5rem;
|
|
--text-3xl: 1.875rem;
|
|
--text-4xl: 2.25rem;
|
|
|
|
/* Transitions */
|
|
--transition-fast: 150ms;
|
|
--transition-normal: 200ms;
|
|
--transition-slow: 300ms;
|
|
}
|
|
|
|
/* =====================================================
|
|
Layout Components
|
|
===================================================== */
|
|
|
|
/* Landing Page Container - Free Scroll */
|
|
.landing-container {
|
|
width: 100%;
|
|
height: 100dvh;
|
|
overflow-y: scroll;
|
|
overflow-x: hidden;
|
|
background-color: var(--color-bg-darker);
|
|
}
|
|
|
|
.landing-section {
|
|
min-height: 100dvh;
|
|
width: 100%;
|
|
}
|
|
|
|
/* Page Container */
|
|
.page-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
padding: var(--spacing-page);
|
|
overflow: hidden;
|
|
background-color: #002224;
|
|
position: relative;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.page-container {
|
|
padding: var(--spacing-page-md);
|
|
}
|
|
}
|
|
|
|
/* Page Container - Full Height with Background */
|
|
.page-container-full {
|
|
width: 100%;
|
|
min-height: 100dvh;
|
|
color: var(--color-text-white);
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: var(--spacing-page);
|
|
background-color: var(--color-bg-dark);
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.page-container-full {
|
|
padding: var(--spacing-page-md);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.page-container-full {
|
|
padding: 2.5rem;
|
|
}
|
|
}
|
|
|
|
/* Wizard Page Container - 단계별 페이지 전환용 */
|
|
.wizard-page-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: #002224;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
/* Main Content Area */
|
|
.main-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
max-width: 72rem;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: 100%;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.main-content {
|
|
flex-direction: row;
|
|
}
|
|
}
|
|
|
|
/* Dashboard Layout */
|
|
.dashboard-layout {
|
|
display: flex;
|
|
width: 100%;
|
|
min-height: 100dvh;
|
|
background-color: var(--color-bg-darker);
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.dashboard-content {
|
|
flex: 1;
|
|
min-height: 0;
|
|
position: relative;
|
|
overflow-y: auto;
|
|
padding-left: 0;
|
|
}
|
|
|
|
/* =====================================================
|
|
Card Components
|
|
===================================================== */
|
|
|
|
/* Base Card */
|
|
.card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-3xl);
|
|
padding: var(--spacing-page);
|
|
border: 1px solid var(--color-border-white-5);
|
|
box-shadow: var(--shadow-xl);
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.card {
|
|
padding: var(--spacing-page-md);
|
|
}
|
|
}
|
|
|
|
/* Card Variants */
|
|
.card-flex {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.card-flex-1 {
|
|
flex: 1;
|
|
}
|
|
|
|
.card-flex-2 {
|
|
flex: 2;
|
|
}
|
|
|
|
.card-overflow-hidden {
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Card Inner (Darker Background) */
|
|
.card-inner {
|
|
background-color: rgba(18, 26, 29, 0.5);
|
|
border-radius: var(--radius-2xl);
|
|
border: 1px solid var(--color-border-white-5);
|
|
padding: 1rem;
|
|
}
|
|
|
|
/* =====================================================
|
|
Header Components
|
|
===================================================== */
|
|
|
|
/* Page Header */
|
|
.page-header {
|
|
text-align: center;
|
|
margin-bottom: 2rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Page Title */
|
|
.page-title {
|
|
font-size: var(--text-3xl);
|
|
font-weight: 700;
|
|
margin-bottom: 0.5rem;
|
|
letter-spacing: -0.025em;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.page-title {
|
|
font-size: var(--text-4xl);
|
|
}
|
|
}
|
|
|
|
/* Page Subtitle */
|
|
.page-subtitle {
|
|
color: var(--color-text-gray-400);
|
|
font-size: var(--text-base);
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.page-subtitle {
|
|
font-size: var(--text-lg);
|
|
}
|
|
}
|
|
|
|
/* Section Title (Mint color uppercase) */
|
|
.section-title {
|
|
color: #94FBE0;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
letter-spacing: -0.006em;
|
|
margin-bottom: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Section Title Purple */
|
|
.section-title-purple {
|
|
color: #AE72F9;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
letter-spacing: -0.006em;
|
|
margin-bottom: 0;
|
|
display: block;
|
|
}
|
|
|
|
/* =====================================================
|
|
Button Components
|
|
===================================================== */
|
|
|
|
/* Primary Button (Purple) */
|
|
.btn-primary {
|
|
background-color: var(--color-purple);
|
|
color: var(--color-text-white);
|
|
font-weight: 700;
|
|
padding: 1rem 4rem;
|
|
border-radius: var(--radius-full);
|
|
transition: all var(--transition-normal);
|
|
transform: scale(1);
|
|
box-shadow: var(--shadow-purple);
|
|
font-size: var(--text-lg);
|
|
border: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background-color: var(--color-purple-hover);
|
|
}
|
|
|
|
.btn-primary:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
.btn-primary:disabled {
|
|
background-color: #4b5563;
|
|
color: var(--color-text-gray-400);
|
|
cursor: not-allowed;
|
|
box-shadow: none;
|
|
}
|
|
|
|
/* Secondary Button (Mint) */
|
|
.btn-secondary {
|
|
background-color: var(--color-mint);
|
|
color: var(--color-bg-dark);
|
|
font-weight: 700;
|
|
padding: 1rem;
|
|
border-radius: var(--radius-xl);
|
|
transition: all var(--transition-normal);
|
|
transform: scale(1);
|
|
font-size: var(--text-base);
|
|
border: none;
|
|
cursor: pointer;
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.btn-secondary:hover {
|
|
background-color: var(--color-mint-hover);
|
|
}
|
|
|
|
.btn-secondary:active {
|
|
transform: scale(0.98);
|
|
}
|
|
|
|
.btn-secondary:disabled {
|
|
background-color: rgba(166, 255, 234, 0.5);
|
|
color: rgba(18, 26, 29, 0.5);
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Outline Button */
|
|
.btn-outline {
|
|
background-color: transparent;
|
|
border: 1px solid var(--color-border-gray-600);
|
|
color: var(--color-text-white);
|
|
font-weight: 700;
|
|
padding: 1rem 4rem;
|
|
border-radius: var(--radius-full);
|
|
transition: all var(--transition-normal);
|
|
font-size: var(--text-base);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.btn-outline:hover {
|
|
border-color: var(--color-text-gray-500);
|
|
}
|
|
|
|
/* Back Button */
|
|
.btn-back {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1.25rem;
|
|
border-radius: var(--radius-full);
|
|
border: 1px solid var(--color-border-gray-600);
|
|
background-color: transparent;
|
|
color: var(--color-text-gray-300);
|
|
font-size: var(--text-base);
|
|
transition: background-color var(--transition-normal);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.btn-back:hover {
|
|
background-color: rgba(31, 41, 55, 1);
|
|
}
|
|
|
|
/* Regenerate Button (Mint Outline) */
|
|
.btn-regenerate {
|
|
margin-top: 1rem;
|
|
width: 100%;
|
|
padding: 0.75rem;
|
|
background-color: var(--color-mint-20);
|
|
color: var(--color-mint);
|
|
border: 1px solid var(--color-mint-30);
|
|
font-weight: 700;
|
|
border-radius: var(--radius-xl);
|
|
transition: background-color var(--transition-normal);
|
|
font-size: var(--text-base);
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.btn-regenerate:hover {
|
|
background-color: var(--color-mint-30);
|
|
}
|
|
|
|
.btn-regenerate:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Selection Button */
|
|
.btn-select {
|
|
padding: 0.75rem;
|
|
border-radius: var(--radius-xl);
|
|
border: 1px solid var(--color-border-gray-700);
|
|
background-color: rgba(18, 26, 29, 0.4);
|
|
color: var(--color-text-gray-400);
|
|
font-size: var(--text-sm);
|
|
font-weight: 700;
|
|
transition: all var(--transition-normal);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.btn-select:hover {
|
|
border-color: var(--color-border-gray-600);
|
|
}
|
|
|
|
.btn-select.active {
|
|
border-color: var(--color-mint);
|
|
background-color: var(--color-bg-dark);
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
.btn-select:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* =====================================================
|
|
Form Components
|
|
===================================================== */
|
|
|
|
/* Select Input */
|
|
.select-input {
|
|
width: 100%;
|
|
padding: 0.75rem 1rem;
|
|
border-radius: var(--radius-xl);
|
|
background-color: var(--color-bg-dark);
|
|
border: 1px solid var(--color-border-gray-700);
|
|
font-size: var(--text-base);
|
|
color: var(--color-text-gray-300);
|
|
}
|
|
|
|
.select-input:focus {
|
|
outline: none;
|
|
border-color: var(--color-mint);
|
|
}
|
|
|
|
.select-input:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Text Input */
|
|
.text-input {
|
|
width: 100%;
|
|
padding: 0.75rem 1rem;
|
|
border-radius: var(--radius-xl);
|
|
background-color: var(--color-bg-dark);
|
|
border: 1px solid var(--color-border-gray-700);
|
|
font-size: var(--text-base);
|
|
color: var(--color-text-gray-300);
|
|
}
|
|
|
|
.text-input:focus {
|
|
outline: none;
|
|
border-color: var(--color-mint);
|
|
}
|
|
|
|
/* Textarea - Lyrics */
|
|
.textarea-lyrics {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
font-size: var(--text-sm);
|
|
color: var(--color-text-gray-400);
|
|
background-color: transparent;
|
|
resize: none;
|
|
border: none;
|
|
padding-right: 0.5rem;
|
|
line-height: 1.625;
|
|
min-height: 0;
|
|
}
|
|
|
|
.textarea-lyrics:focus {
|
|
outline: none;
|
|
color: var(--color-text-gray-300);
|
|
}
|
|
|
|
/* =====================================================
|
|
Navigation Components
|
|
===================================================== */
|
|
|
|
/* Back Button Container */
|
|
.back-button-container {
|
|
width: 100%;
|
|
max-width: 1040px;
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
margin-bottom: 1.5rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Bottom Button Container */
|
|
.bottom-button-container {
|
|
display: flex;
|
|
justify-content: center;
|
|
padding: 1.5rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* =====================================================
|
|
Sidebar Components
|
|
===================================================== */
|
|
|
|
/* Sidebar Container */
|
|
.sidebar {
|
|
position: fixed;
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--color-bg-dark);
|
|
border-right: 1px solid var(--color-border-white-5);
|
|
transition: all var(--transition-slow);
|
|
z-index: 50;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.sidebar {
|
|
position: sticky;
|
|
top: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
}
|
|
|
|
.sidebar.expanded {
|
|
width: 15rem;
|
|
}
|
|
|
|
.sidebar.collapsed {
|
|
width: 5rem;
|
|
}
|
|
|
|
.sidebar.mobile-open {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.sidebar.mobile-closed {
|
|
transform: translateX(-100%);
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.sidebar.mobile-closed {
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
/* Sidebar Header */
|
|
.sidebar-header {
|
|
padding: 1.25rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sidebar-header.collapsed {
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* Sidebar Logo */
|
|
.sidebar-logo {
|
|
font-family: 'Playfair Display', serif;
|
|
font-style: italic;
|
|
font-size: var(--text-2xl);
|
|
font-weight: 700;
|
|
letter-spacing: -0.025em;
|
|
color: var(--color-text-white);
|
|
cursor: pointer;
|
|
transition: color var(--transition-normal);
|
|
}
|
|
|
|
.sidebar-logo:hover {
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
/* Sidebar Menu */
|
|
.sidebar-menu {
|
|
flex: 1;
|
|
padding: 0 0.75rem;
|
|
margin-top: 1rem;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
/* Sidebar Menu Item */
|
|
.sidebar-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 0.75rem 1rem;
|
|
border-radius: var(--radius-xl);
|
|
transition: all var(--transition-normal);
|
|
cursor: pointer;
|
|
margin-bottom: 0.25rem;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.sidebar-item.collapsed {
|
|
justify-content: center;
|
|
width: 3rem;
|
|
height: 3rem;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
padding: 0;
|
|
}
|
|
|
|
.sidebar-item.active {
|
|
background-color: var(--color-mint);
|
|
color: var(--color-bg-dark);
|
|
}
|
|
|
|
.sidebar-item:not(.active) {
|
|
color: var(--color-text-gray-400);
|
|
}
|
|
|
|
.sidebar-item:not(.active):not(.disabled):hover {
|
|
background-color: rgba(255, 255, 255, 0.05);
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.sidebar-item.disabled {
|
|
opacity: 0.4;
|
|
cursor: not-allowed;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.sidebar-item-icon {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: color var(--transition-normal);
|
|
}
|
|
|
|
.sidebar-item.active .sidebar-item-icon {
|
|
color: var(--color-bg-dark);
|
|
}
|
|
|
|
.sidebar-item-label {
|
|
font-size: var(--text-sm);
|
|
font-weight: 700;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* Sidebar Footer */
|
|
.sidebar-footer {
|
|
padding: 1rem;
|
|
margin-top: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
/* Credit Card */
|
|
.credit-card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-2xl);
|
|
padding: 1rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
}
|
|
|
|
.credit-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.credit-label {
|
|
color: var(--color-text-gray-400);
|
|
font-size: var(--text-sm);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.credit-value {
|
|
color: var(--color-text-white);
|
|
font-size: var(--text-sm);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.credit-bar {
|
|
width: 100%;
|
|
height: 0.375rem;
|
|
background-color: #1f2937;
|
|
border-radius: var(--radius-full);
|
|
overflow: hidden;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
.credit-bar-fill {
|
|
height: 100%;
|
|
background-color: var(--color-mint);
|
|
}
|
|
|
|
.credit-upgrade-btn {
|
|
width: 100%;
|
|
padding: 0.625rem;
|
|
background-color: var(--color-bg-dark);
|
|
color: var(--color-text-white);
|
|
font-size: var(--text-sm);
|
|
font-weight: 700;
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid var(--color-border-gray-700);
|
|
transition: background-color var(--transition-normal);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.credit-upgrade-btn:hover {
|
|
background-color: #1f2937;
|
|
}
|
|
|
|
/* Profile Section */
|
|
.profile-section {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 0 0.5rem;
|
|
}
|
|
|
|
.profile-section.collapsed {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.profile-avatar {
|
|
width: 2.5rem;
|
|
height: 2.5rem;
|
|
border-radius: var(--radius-full);
|
|
border: 1px solid var(--color-border-gray-700);
|
|
}
|
|
|
|
.profile-name {
|
|
color: var(--color-text-white);
|
|
font-size: var(--text-sm);
|
|
font-weight: 700;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* Logout Button */
|
|
.logout-btn {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 0.75rem 1rem;
|
|
color: var(--color-text-gray-400);
|
|
background: none;
|
|
border: none;
|
|
transition: color var(--transition-normal);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.logout-btn:hover {
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.logout-btn.collapsed {
|
|
justify-content: center;
|
|
}
|
|
|
|
.logout-btn-label {
|
|
font-size: var(--text-sm);
|
|
font-weight: 700;
|
|
}
|
|
|
|
/* Mobile Menu Button */
|
|
.mobile-menu-btn {
|
|
position: fixed;
|
|
top: 1rem;
|
|
right: 1rem;
|
|
z-index: 40;
|
|
padding: 0.625rem;
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid var(--color-border-white-10);
|
|
color: var(--color-text-gray-400);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.mobile-menu-btn:hover {
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.mobile-menu-btn {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* Mobile Overlay */
|
|
.mobile-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
z-index: 40;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.mobile-overlay {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
Player Components
|
|
===================================================== */
|
|
|
|
/* Player Bar */
|
|
.player-bar {
|
|
background-color: rgba(0, 0, 0, 0.4);
|
|
border-radius: var(--radius-full);
|
|
padding: 0.75rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Play Button */
|
|
.play-btn {
|
|
color: var(--color-mint);
|
|
flex-shrink: 0;
|
|
transition: transform var(--transition-normal);
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
padding: 0;
|
|
}
|
|
|
|
.play-btn:hover {
|
|
transform: scale(1.1);
|
|
}
|
|
|
|
.play-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Progress Bar */
|
|
.progress-bar-container {
|
|
flex: 1;
|
|
height: 0.375rem;
|
|
background-color: #1f2937;
|
|
border-radius: var(--radius-full);
|
|
position: relative;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.progress-bar-container:disabled,
|
|
.progress-bar-container.disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.progress-bar-fill {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
background-color: var(--color-mint);
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.progress-bar-thumb {
|
|
position: absolute;
|
|
top: 50%;
|
|
transform: translateY(-50%) translateX(-50%);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.progress-bar-thumb-glow {
|
|
position: absolute;
|
|
width: 1rem;
|
|
height: 1rem;
|
|
background-color: var(--color-mint);
|
|
border-radius: var(--radius-full);
|
|
opacity: 0.2;
|
|
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
}
|
|
|
|
.progress-bar-thumb-dot {
|
|
width: 0.75rem;
|
|
height: 0.75rem;
|
|
background-color: var(--color-mint);
|
|
border-radius: var(--radius-full);
|
|
box-shadow: var(--shadow-mint-glow);
|
|
border: 1px solid rgba(18, 26, 29, 0.2);
|
|
}
|
|
|
|
/* Time Display */
|
|
.time-display {
|
|
font-size: var(--text-sm);
|
|
color: var(--color-text-gray-500);
|
|
font-family: monospace;
|
|
text-align: right;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* =====================================================
|
|
Image Grid Components
|
|
===================================================== */
|
|
|
|
/* Image Grid */
|
|
.image-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.image-grid-4 {
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
/* Image Item */
|
|
.image-item {
|
|
aspect-ratio: 1;
|
|
background-color: rgba(18, 26, 29, 0.5);
|
|
border-radius: var(--radius-xl);
|
|
border: 1px solid var(--color-border-white-5);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.image-item img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.image-item-badge {
|
|
position: absolute;
|
|
top: 0.5rem;
|
|
left: 0.5rem;
|
|
padding: 0.25rem 0.5rem;
|
|
background-color: var(--color-purple-80);
|
|
border-radius: 0.25rem;
|
|
font-size: var(--text-xs);
|
|
color: var(--color-text-white);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.image-item-remove {
|
|
position: absolute;
|
|
top: 0.5rem;
|
|
right: 0.5rem;
|
|
width: 1.75rem;
|
|
height: 1.75rem;
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
border-radius: var(--radius-full);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: rgba(255, 255, 255, 0.7);
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
}
|
|
|
|
.image-item-remove:hover {
|
|
background-color: rgba(239, 68, 68, 0.8);
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
/* =====================================================
|
|
Upload Components
|
|
===================================================== */
|
|
|
|
/* Upload Zone */
|
|
.upload-zone {
|
|
flex: 1;
|
|
border: 2px dashed var(--color-border-gray-600);
|
|
border-radius: var(--radius-2xl);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 1.5rem;
|
|
text-align: center;
|
|
cursor: pointer;
|
|
transition: border-color var(--transition-normal);
|
|
}
|
|
|
|
.upload-zone:hover {
|
|
border-color: rgba(166, 255, 234, 0.5);
|
|
}
|
|
|
|
.upload-zone-icon {
|
|
margin-bottom: 1rem;
|
|
color: var(--color-text-gray-500);
|
|
transition: color var(--transition-normal);
|
|
}
|
|
|
|
.upload-zone:hover .upload-zone-icon {
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
.upload-zone-title {
|
|
color: var(--color-text-gray-300);
|
|
font-size: var(--text-base);
|
|
font-weight: 500;
|
|
line-height: 1.625;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.upload-zone-subtitle {
|
|
color: var(--color-text-gray-500);
|
|
font-size: var(--text-sm);
|
|
}
|
|
|
|
/* =====================================================
|
|
Tag Components
|
|
===================================================== */
|
|
|
|
/* Tag */
|
|
.tag {
|
|
padding: 0.625rem 1.25rem;
|
|
background-color: var(--color-bg-card-inner);
|
|
border-radius: var(--radius-full);
|
|
font-size: var(--text-base);
|
|
color: #e5e7eb;
|
|
border: 1px solid var(--color-border-white-10);
|
|
}
|
|
|
|
/* Tag with Dot */
|
|
.tag-dot {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
font-size: var(--text-sm);
|
|
color: var(--color-text-gray-400);
|
|
}
|
|
|
|
.tag-dot::before {
|
|
content: '';
|
|
width: 0.375rem;
|
|
height: 0.375rem;
|
|
border-radius: var(--radius-full);
|
|
background-color: var(--color-mint);
|
|
}
|
|
|
|
/* =====================================================
|
|
Social Card Components
|
|
===================================================== */
|
|
|
|
/* Social Card */
|
|
.social-card {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
background-color: var(--color-bg-dark);
|
|
padding: 1rem;
|
|
border-radius: var(--radius-2xl);
|
|
border: 1px solid var(--color-border-white-5);
|
|
transition: all var(--transition-normal);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.social-card:hover {
|
|
border-color: var(--color-border-white-10);
|
|
}
|
|
|
|
.social-card.selected {
|
|
border-color: var(--color-mint);
|
|
box-shadow: 0 0 15px rgba(166, 255, 234, 0.15);
|
|
background-color: var(--color-bg-card);
|
|
}
|
|
|
|
.social-icon {
|
|
width: 2.5rem;
|
|
height: 2.5rem;
|
|
border-radius: var(--radius-xl);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
transition: transform var(--transition-slow);
|
|
}
|
|
|
|
.social-icon-inner {
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.social-check {
|
|
position: absolute;
|
|
top: -0.25rem;
|
|
right: -0.25rem;
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
background-color: var(--color-mint);
|
|
border-radius: var(--radius-full);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--color-bg-dark);
|
|
border: 2px solid var(--color-bg-dark);
|
|
}
|
|
|
|
.social-name {
|
|
font-size: var(--text-base);
|
|
font-weight: 700;
|
|
transition: color var(--transition-normal);
|
|
}
|
|
|
|
.social-card.selected .social-name {
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.social-card:not(.selected) .social-name {
|
|
color: var(--color-text-gray-300);
|
|
}
|
|
|
|
.social-email {
|
|
margin-left: auto;
|
|
font-size: var(--text-sm);
|
|
color: var(--color-purple);
|
|
}
|
|
|
|
/* =====================================================
|
|
Video Preview Components
|
|
===================================================== */
|
|
|
|
/* Video Container */
|
|
.video-container {
|
|
flex: 1;
|
|
background-color: #000;
|
|
border-radius: var(--radius-2xl);
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 200px;
|
|
}
|
|
|
|
.video-pattern {
|
|
position: absolute;
|
|
inset: 0;
|
|
opacity: 0.1;
|
|
background-image:
|
|
linear-gradient(45deg, var(--color-bg-dark) 25%, transparent 25%),
|
|
linear-gradient(-45deg, var(--color-bg-dark) 25%, transparent 25%),
|
|
linear-gradient(45deg, transparent 75%, var(--color-bg-dark) 75%),
|
|
linear-gradient(-45deg, transparent 75%, var(--color-bg-dark) 75%);
|
|
background-size: 40px 40px;
|
|
background-position: 0 0, 0 20px, 20px -20px, -20px 0px;
|
|
}
|
|
|
|
.video-controls {
|
|
position: absolute;
|
|
bottom: 1rem;
|
|
left: 1rem;
|
|
right: 1rem;
|
|
z-index: 10;
|
|
}
|
|
|
|
.video-controls-inner {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.video-play-btn {
|
|
color: var(--color-text-white);
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: color var(--transition-normal);
|
|
}
|
|
|
|
.video-play-btn:hover {
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
.video-progress {
|
|
flex: 1;
|
|
height: 0.375rem;
|
|
background-color: rgba(255, 255, 255, 0.2);
|
|
border-radius: var(--radius-full);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.video-progress-fill {
|
|
height: 100%;
|
|
background-color: var(--color-mint);
|
|
}
|
|
|
|
/* Video Player */
|
|
.video-player {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* Video Loading State */
|
|
.video-loading {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
}
|
|
|
|
/* Video Error State */
|
|
.video-error {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
}
|
|
|
|
.video-error svg {
|
|
width: 4rem;
|
|
height: 4rem;
|
|
color: #ef4444;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* Social Card Disabled State */
|
|
.social-card.disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* =====================================================
|
|
Tags Container
|
|
===================================================== */
|
|
|
|
.tags-container {
|
|
margin-top: 1rem;
|
|
background-color: rgba(18, 26, 29, 0.6);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.75rem 1rem;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 1rem;
|
|
justify-content: center;
|
|
border: 1px solid var(--color-border-white-5);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* =====================================================
|
|
Status Messages
|
|
===================================================== */
|
|
|
|
/* Error Message */
|
|
.error-message {
|
|
margin-top: 1rem;
|
|
padding: 0.75rem;
|
|
background-color: rgba(239, 68, 68, 0.1);
|
|
border: 1px solid rgba(239, 68, 68, 0.3);
|
|
border-radius: var(--radius-xl);
|
|
color: #f87171;
|
|
font-size: var(--text-sm);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Status Message */
|
|
.status-message {
|
|
margin-top: 1rem;
|
|
padding: 0.75rem;
|
|
background-color: var(--color-mint-10);
|
|
border: 1px solid var(--color-mint-30);
|
|
border-radius: var(--radius-xl);
|
|
color: var(--color-mint);
|
|
font-size: var(--text-sm);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* =====================================================
|
|
Utility Classes
|
|
===================================================== */
|
|
|
|
/* Flex utilities */
|
|
.flex-center {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.flex-between {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.flex-col {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.flex-1 {
|
|
flex: 1;
|
|
}
|
|
|
|
.flex-2 {
|
|
flex: 2;
|
|
}
|
|
|
|
.shrink-0 {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.min-h-0 {
|
|
min-height: 0;
|
|
}
|
|
|
|
/* Gap utilities */
|
|
.gap-2 { gap: 0.5rem; }
|
|
.gap-3 { gap: 0.75rem; }
|
|
.gap-4 { gap: 1rem; }
|
|
.gap-6 { gap: 1.5rem; }
|
|
|
|
/* Margin utilities */
|
|
.mb-1 { margin-bottom: 0.25rem; }
|
|
.mb-2 { margin-bottom: 0.5rem; }
|
|
.mb-3 { margin-bottom: 0.75rem; }
|
|
.mb-4 { margin-bottom: 1rem; }
|
|
.mb-6 { margin-bottom: 1.5rem; }
|
|
.mt-4 { margin-top: 1rem; }
|
|
.mt-6 { margin-top: 1.5rem; }
|
|
|
|
/* Text utilities */
|
|
.text-center { text-align: center; }
|
|
.text-right { text-align: right; }
|
|
.font-bold { font-weight: 700; }
|
|
.font-medium { font-weight: 500; }
|
|
|
|
/* Overflow utilities */
|
|
.overflow-hidden { overflow: hidden; }
|
|
.overflow-y-auto { overflow-y: auto; }
|
|
|
|
/* Width utilities */
|
|
.w-full { width: 100%; }
|
|
|
|
/* Animation */
|
|
@keyframes pulse {
|
|
0%, 100% { opacity: 0.2; }
|
|
50% { opacity: 0.4; }
|
|
}
|
|
|
|
@keyframes spin {
|
|
from { transform: rotate(0deg); }
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
|
|
.animate-spin {
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
.animate-pulse {
|
|
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
}
|
|
|
|
/* Grid utilities */
|
|
.grid-cols-3 {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
}
|
|
|
|
/* Space utilities */
|
|
.space-y-4 > * + * {
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
.space-y-5 > * + * {
|
|
margin-top: 1.25rem;
|
|
}
|
|
|
|
/* Min width */
|
|
.min-w-280 {
|
|
min-width: 280px;
|
|
}
|
|
|
|
/* Scrollbar utility */
|
|
.scrollbar-hide {
|
|
scrollbar-width: none;
|
|
-ms-overflow-style: none;
|
|
}
|
|
|
|
.scrollbar-hide::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
/* =====================================================
|
|
Completion Page Components
|
|
===================================================== */
|
|
|
|
/* Completion Page Title */
|
|
.completion-title {
|
|
font-size: 1.75rem;
|
|
font-weight: 600;
|
|
color: #E5F1F2;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
margin: 0 0 1.5rem 0;
|
|
text-align: center;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.completion-title {
|
|
font-size: 2.5rem;
|
|
margin-bottom: 2rem;
|
|
}
|
|
}
|
|
|
|
/* Completion Container - wrapper for the two cards */
|
|
.completion-container {
|
|
margin: 0 auto 1.5rem auto;
|
|
max-width: 1400px;
|
|
width: calc(100% - 4rem);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.completion-container {
|
|
flex-direction: row;
|
|
gap: 2rem;
|
|
max-width: 1400px;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1280px) {
|
|
.completion-container {
|
|
max-width: 1600px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 480px) {
|
|
.completion-container {
|
|
width: calc(100% - 2rem);
|
|
gap: 1.25rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 481px) and (max-width: 767px) {
|
|
.completion-container {
|
|
width: calc(100% - 3rem);
|
|
}
|
|
}
|
|
|
|
/* Completion Columns */
|
|
.completion-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.completion-column-left {
|
|
width: 100%;
|
|
min-width: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.completion-column-right {
|
|
width: 100%;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.completion-column-left {
|
|
flex: 1;
|
|
width: auto;
|
|
}
|
|
|
|
.completion-column-right {
|
|
width: 400px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1280px) {
|
|
.completion-column-right {
|
|
width: 450px;
|
|
}
|
|
}
|
|
|
|
/* Video Preview Card & Sharing Card - uses asset-column base + card styling */
|
|
.video-preview-card,
|
|
.sharing-card {
|
|
background-color: #01393B;
|
|
border-radius: 40px;
|
|
padding: 1.5rem;
|
|
border: none;
|
|
box-shadow: none;
|
|
overflow: hidden;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.video-preview-card,
|
|
.sharing-card {
|
|
padding: 2rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.video-preview-card {
|
|
flex-shrink: 1;
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
|
|
.video-preview-card,
|
|
.sharing-card {
|
|
padding: 2.5rem;
|
|
}
|
|
}
|
|
|
|
/* Completion Video Wrapper */
|
|
.completion-video-wrapper {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.completion-video-wrapper {
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
}
|
|
|
|
/* Video Container for Completion - always 16:9 aspect ratio (horizontal letterbox) */
|
|
.video-preview-card .video-container {
|
|
position: relative;
|
|
aspect-ratio: 16 / 9;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
margin: 0 auto;
|
|
background-color: #000;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.video-preview-card .video-container {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.video-preview-card .video-container {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
/* Video Overlay */
|
|
.video-overlay {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
|
|
padding: 1.5rem;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.video-overlay-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.video-overlay-title {
|
|
font-size: 1.25rem;
|
|
font-weight: 800;
|
|
color: #FFFFFF;
|
|
line-height: 1.3;
|
|
letter-spacing: -0.006em;
|
|
text-align: center;
|
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
|
|
margin: 0;
|
|
}
|
|
|
|
.video-overlay-logo {
|
|
font-size: 0.375rem;
|
|
font-weight: 400;
|
|
color: rgba(255, 255, 255, 0.6);
|
|
line-height: 1.3;
|
|
letter-spacing: -0.006em;
|
|
text-align: center;
|
|
align-self: flex-end;
|
|
}
|
|
|
|
/* AI Optimization Section */
|
|
.ai-optimization-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
padding: 1rem;
|
|
background-color: #002224;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.ai-optimization-section {
|
|
flex-direction: row;
|
|
gap: 1.25rem;
|
|
}
|
|
}
|
|
|
|
.ai-optimization-title {
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
color: #94FBE0;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
margin: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.ai-optimization-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.ai-optimization-tags {
|
|
gap: 1.25rem;
|
|
justify-content: flex-start;
|
|
}
|
|
}
|
|
|
|
.ai-tag {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
height: 20px;
|
|
}
|
|
|
|
.ai-tag-dot {
|
|
width: 6px;
|
|
height: 6px;
|
|
background-color: #94FBE0;
|
|
border-radius: 50%;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.ai-tag-text {
|
|
font-size: 0.875rem;
|
|
font-weight: 400;
|
|
color: #E5F1F2;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Sharing Card Layout */
|
|
.sharing-card {
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.sharing-content {
|
|
flex: 1;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
.sharing-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Social List New */
|
|
.social-list-new {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.completion-social-card {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
padding: 1rem;
|
|
background-color: #002224;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
}
|
|
|
|
.completion-social-card:hover:not(.disabled) {
|
|
background-color: #01393B;
|
|
}
|
|
|
|
.completion-social-card.disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.completion-social-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.completion-social-logo {
|
|
width: 32px;
|
|
height: 32px;
|
|
object-fit: cover;
|
|
object-position: center;
|
|
flex-shrink: 0;
|
|
border-radius: 4px;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.completion-social-name {
|
|
font-size: 0.875rem;
|
|
font-weight: 400;
|
|
color: #FFFFFF;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.completion-social-email {
|
|
font-size: 0.75rem;
|
|
font-weight: 400;
|
|
color: #94FBE0;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Social Card - Text Layout */
|
|
.completion-social-text {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.completion-social-channel {
|
|
font-size: 0.75rem;
|
|
font-weight: 400;
|
|
color: #94FBE0;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Connected Account Display */
|
|
.completion-social-thumbnail {
|
|
width: 36px;
|
|
height: 36px;
|
|
border-radius: 50%;
|
|
object-fit: cover;
|
|
flex-shrink: 0;
|
|
border: 2px solid #94FBE0;
|
|
}
|
|
|
|
.completion-social-channel-name {
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.completion-social-platform {
|
|
font-size: 0.7rem;
|
|
font-weight: 400;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
line-height: 1.2;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
/* Social Card States */
|
|
.completion-social-card.connected {
|
|
border: 1px solid rgba(166, 255, 234, 0.3);
|
|
background-color: rgba(0, 34, 36, 0.8);
|
|
}
|
|
|
|
.completion-social-card.selected {
|
|
border: 1px solid #94FBE0;
|
|
background-color: rgba(148, 251, 224, 0.1);
|
|
}
|
|
|
|
/* Social Card Status */
|
|
.completion-social-status {
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
padding: 0.25rem 0.75rem;
|
|
border-radius: 9999px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.completion-social-status.connected {
|
|
color: #94FBE0;
|
|
background-color: rgba(148, 251, 224, 0.15);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.completion-social-status.connecting {
|
|
color: #fbbf24;
|
|
background-color: rgba(251, 191, 36, 0.15);
|
|
}
|
|
|
|
.completion-social-status.not-connected {
|
|
color: #9ca3af;
|
|
background-color: rgba(156, 163, 175, 0.15);
|
|
}
|
|
|
|
/* Social Card Actions */
|
|
.completion-social-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.completion-social-disconnect {
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
color: #f87171;
|
|
background: transparent;
|
|
border: none;
|
|
cursor: pointer;
|
|
padding: 0.25rem 0.5rem;
|
|
border-radius: 4px;
|
|
transition: all var(--transition-normal);
|
|
}
|
|
|
|
.completion-social-disconnect:hover {
|
|
background-color: rgba(248, 113, 113, 0.15);
|
|
}
|
|
|
|
/* Completion Buttons */
|
|
.btn-completion-deploy {
|
|
width: 100%;
|
|
padding: 0.625rem 2.5rem;
|
|
background-color: #AE72F9;
|
|
border: none;
|
|
border-radius: var(--radius-full);
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
height: 48px;
|
|
}
|
|
|
|
.btn-completion-deploy:hover:not(:disabled) {
|
|
background-color: #9B5FE0;
|
|
}
|
|
|
|
.btn-completion-deploy:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.btn-completion-download {
|
|
width: 100%;
|
|
padding: 0.625rem 2.5rem;
|
|
background-color: transparent;
|
|
border: 1px solid #AE72F9;
|
|
border-radius: var(--radius-full);
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
height: 48px;
|
|
}
|
|
|
|
.btn-completion-download:hover:not(:disabled) {
|
|
border-color: #9B5FE0;
|
|
background-color: rgba(174, 114, 249, 0.1);
|
|
}
|
|
|
|
.btn-completion-download:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* =====================================================
|
|
Analysis Result Page Components
|
|
===================================================== */
|
|
|
|
/* Analysis Page Wrapper - 전체 레이아웃 */
|
|
.analysis-page-wrapper {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100vh;
|
|
height: 100dvh;
|
|
background-color: #002224;
|
|
color: white;
|
|
}
|
|
|
|
/* Analysis Page Main - 스크롤 가능한 메인 영역 */
|
|
.analysis-page-main {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
height: 100%;
|
|
}
|
|
|
|
/* Analysis Container - 콘텐츠 래퍼 */
|
|
.analysis-container {
|
|
width: 100%;
|
|
min-height: 100%;
|
|
color: var(--color-text-white);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
background-color: #002224;
|
|
box-sizing: border-box;
|
|
padding: 0 16px 120px 16px; /* 고정 버튼 영역 확보 */
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.analysis-container {
|
|
padding: 0 32px 120px 32px;
|
|
}
|
|
}
|
|
|
|
/* Header Area (Back Button + Title) */
|
|
.analysis-header-area {
|
|
width: 100%;
|
|
max-width: 1440px;
|
|
padding: 8px 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* Analysis Header */
|
|
.analysis-header {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
padding: 24px 0;
|
|
}
|
|
|
|
.analysis-icon {
|
|
color: var(--color-purple);
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.analysis-icon svg {
|
|
width: 40px;
|
|
height: 40px;
|
|
}
|
|
|
|
/* Analysis Grid - 모바일: 세로 배치, 데스크톱: 가로 배치 */
|
|
.analysis-grid {
|
|
width: 100%;
|
|
max-width: 1440px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 24px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* 데스크톱(1024px 이상)에서 가로 배치 */
|
|
@media (min-width: 1024px) {
|
|
.analysis-grid {
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
gap: 40px;
|
|
padding: 0 200px;
|
|
}
|
|
}
|
|
|
|
/* Brand Identity Card - 왼쪽 */
|
|
.brand-identity-card {
|
|
background-color: #01393B;
|
|
border-radius: 24px;
|
|
padding: 24px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 24px;
|
|
border: none;
|
|
box-shadow: none;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.brand-identity-card {
|
|
border-radius: 40px;
|
|
padding: 32px;
|
|
gap: 32px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.brand-identity-card {
|
|
flex: 1;
|
|
}
|
|
}
|
|
|
|
.brand-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
.brand-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
}
|
|
|
|
.brand-name {
|
|
font-size: 20px;
|
|
font-weight: 700;
|
|
color: #E5F1F2;
|
|
letter-spacing: -0.006em;
|
|
margin: 0;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.brand-name {
|
|
font-size: 24px;
|
|
}
|
|
}
|
|
|
|
.brand-location {
|
|
color: #6AB0B3;
|
|
font-size: 14px;
|
|
letter-spacing: -0.006em;
|
|
margin: 0;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.brand-subtitle {
|
|
color: #6AB0B3;
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.brand-info {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 4px;
|
|
}
|
|
|
|
/* Report Content */
|
|
.report-content {
|
|
color: #CEE5E6;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
line-height: 1.5;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.report-content {
|
|
font-size: 17px;
|
|
line-height: 1.45;
|
|
}
|
|
}
|
|
|
|
/* Right Side Cards Container */
|
|
.analysis-cards-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 24px;
|
|
width: 100%;
|
|
}
|
|
|
|
/* 데스크톱(1024px 이상)에서만 sticky 적용 */
|
|
@media (min-width: 1024px) {
|
|
.analysis-cards-column {
|
|
flex: 1;
|
|
position: sticky;
|
|
top: 40px;
|
|
align-self: flex-start;
|
|
}
|
|
}
|
|
|
|
/* Feature Card for Analysis Page */
|
|
.analysis-cards-column .feature-card {
|
|
background-color: #01393B;
|
|
border-radius: 24px;
|
|
padding: 24px;
|
|
border: none;
|
|
box-shadow: none;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 24px;
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.analysis-cards-column .feature-card {
|
|
border-radius: 40px;
|
|
padding: 32px;
|
|
gap: 32px;
|
|
}
|
|
}
|
|
|
|
/* Selling Points Card */
|
|
.selling-points-card {
|
|
flex: 1;
|
|
}
|
|
|
|
/* Selling Points Grid - 모바일: 1열, 태블릿 이상: 2열 */
|
|
.selling-points-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: 8px;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.selling-points-grid {
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 0;
|
|
}
|
|
}
|
|
|
|
/* Selling Point Item */
|
|
.selling-point-item {
|
|
background-color: #034A4D;
|
|
padding: 20px 16px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
border-radius: 16px;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.selling-point-item {
|
|
padding: 24px 20px;
|
|
gap: 16px;
|
|
border-radius: 0;
|
|
}
|
|
/* 첫 번째 행 왼쪽 */
|
|
.selling-point-item:nth-child(1) {
|
|
border-radius: 16px 0 0 0;
|
|
}
|
|
/* 첫 번째 행 오른쪽 */
|
|
.selling-point-item:nth-child(2) {
|
|
border-radius: 0 16px 0 0;
|
|
}
|
|
/* 마지막 행 왼쪽 */
|
|
.selling-point-item:nth-last-child(2):nth-child(odd) {
|
|
border-radius: 0 0 0 16px;
|
|
}
|
|
/* 마지막 행 오른쪽 */
|
|
.selling-point-item:nth-last-child(1):nth-child(even) {
|
|
border-radius: 0 0 16px 0;
|
|
}
|
|
}
|
|
|
|
.selling-point-title {
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #6AB0B3;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1;
|
|
}
|
|
|
|
.selling-point-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.selling-point-content p {
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
color: #CEE5E6;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.2;
|
|
margin: 0;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.selling-point-content p {
|
|
font-size: 17px;
|
|
line-height: 1;
|
|
}
|
|
}
|
|
|
|
/* Keywords Card */
|
|
.keywords-card {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Tags Wrapper */
|
|
.tags-wrapper {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
align-content: flex-start;
|
|
}
|
|
|
|
/* Feature Tag - 피그마: pill 형태 */
|
|
.feature-tag {
|
|
padding: 8px 16px;
|
|
background-color: #034A4D;
|
|
border-radius: 999px;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
color: #CEE5E6;
|
|
letter-spacing: -0.006em;
|
|
border: none;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-tag {
|
|
font-size: 17px;
|
|
}
|
|
}
|
|
|
|
/* Analysis Bottom Button - 화면 하단 고정 */
|
|
.analysis-bottom {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
padding: 20px 16px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
box-sizing: border-box;
|
|
background: linear-gradient(to top, #002224 70%, transparent);
|
|
z-index: 100;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.analysis-bottom {
|
|
padding: 24px 32px;
|
|
}
|
|
}
|
|
|
|
.analysis-bottom .btn-primary {
|
|
width: 160px;
|
|
height: 48px;
|
|
padding: 10px 24px;
|
|
background-color: #AE72F9;
|
|
border-radius: 999px;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
letter-spacing: -0.006em;
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
box-shadow: 0 4px 20px rgba(174, 114, 249, 0.4);
|
|
}
|
|
|
|
.analysis-bottom .btn-primary:hover {
|
|
background-color: #9B5DE5;
|
|
}
|
|
|
|
/* =====================================================
|
|
URL Input Content (GenerationFlow 내 URL 입력 단계)
|
|
===================================================== */
|
|
|
|
.url-input-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #002224;
|
|
padding: 2rem;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.url-input-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
max-width: 600px;
|
|
width: 100%;
|
|
}
|
|
|
|
.url-input-icon {
|
|
color: #AE72F9;
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.url-input-logo {
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
.url-input-logo img {
|
|
height: 48px;
|
|
width: auto;
|
|
}
|
|
|
|
.url-input-title {
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 40px;
|
|
font-weight: 600;
|
|
color: #E5F1F2;
|
|
letter-spacing: -0.006em;
|
|
margin: 0 0 8px 0;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.url-input-subtitle {
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
color: #9BCACC;
|
|
letter-spacing: -0.006em;
|
|
margin: 0 0 40px 0;
|
|
}
|
|
|
|
.url-input-form {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
}
|
|
|
|
.url-input-wrapper {
|
|
display: flex;
|
|
align-items: stretch;
|
|
width: 100%;
|
|
background-color: #01393B;
|
|
border: 1px solid #034A4D;
|
|
border-radius: 12px;
|
|
overflow: visible;
|
|
position: relative;
|
|
}
|
|
|
|
.url-input-field {
|
|
flex: 1;
|
|
width: 100%;
|
|
padding: 16px 20px;
|
|
background-color: transparent;
|
|
border: none;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 16px;
|
|
color: #E5F1F2;
|
|
outline: none;
|
|
text-align: left;
|
|
}
|
|
|
|
.url-input-field::placeholder {
|
|
color: #6AB0B3;
|
|
}
|
|
|
|
|
|
.url-input-button {
|
|
padding: 16px 32px;
|
|
background-color: #AE72F9;
|
|
border: none;
|
|
border-radius: 12px;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.url-input-button:hover:not(:disabled) {
|
|
background-color: #9B5DE5;
|
|
}
|
|
|
|
.url-input-button:disabled {
|
|
background-color: #4A5568;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.url-input-error {
|
|
color: #F56565;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
margin: 0;
|
|
text-align: left;
|
|
}
|
|
|
|
.url-input-guide {
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 13px;
|
|
color: #6AB0B3;
|
|
margin: 24px 0 0 0;
|
|
}
|
|
|
|
/* URL Input Dropdown */
|
|
.url-input-dropdown-container {
|
|
position: relative;
|
|
flex-shrink: 0;
|
|
width: auto;
|
|
}
|
|
|
|
.url-input-dropdown-trigger {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 16px 16px;
|
|
background-color: transparent;
|
|
border: none;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
color: #E5F1F2;
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
|
|
.url-input-dropdown-trigger:hover {
|
|
background-color: rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.url-input-dropdown-arrow {
|
|
transition: transform 0.2s ease;
|
|
}
|
|
|
|
.url-input-dropdown-arrow.open {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.url-input-dropdown-menu {
|
|
position: absolute;
|
|
top: calc(100% + 4px);
|
|
left: 0;
|
|
min-width: 100%;
|
|
background-color: #01393B;
|
|
border: 1px solid #034A4D;
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
z-index: 100;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.url-input-dropdown-item {
|
|
display: block;
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
background: none;
|
|
border: none;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
color: #9BCACC;
|
|
text-align: left;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.url-input-dropdown-item:hover {
|
|
background-color: #034A4D;
|
|
color: #E5F1F2;
|
|
}
|
|
|
|
.url-input-dropdown-item.active {
|
|
background-color: #034A4D;
|
|
color: #94FBE0;
|
|
}
|
|
|
|
/* URL Input Autocomplete (Dashboard) */
|
|
.url-input-field-container {
|
|
position: relative;
|
|
flex: 1;
|
|
display: flex;
|
|
}
|
|
|
|
.url-input-autocomplete-dropdown {
|
|
position: absolute;
|
|
top: calc(100% + 8px);
|
|
left: 0;
|
|
right: 0;
|
|
background-color: #002224;
|
|
border: 1px solid rgba(148, 251, 224, 0.2);
|
|
border-radius: 12px;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
z-index: 100;
|
|
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
.url-input-autocomplete-loading {
|
|
padding: 16px;
|
|
text-align: center;
|
|
color: rgba(255, 255, 255, 0.6);
|
|
font-size: 14px;
|
|
}
|
|
|
|
.url-input-autocomplete-item {
|
|
display: block;
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
background: transparent;
|
|
border: none;
|
|
border-bottom: 1px solid rgba(148, 251, 224, 0.1);
|
|
text-align: left;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
|
|
.url-input-autocomplete-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.url-input-autocomplete-item:hover,
|
|
.url-input-autocomplete-item.highlighted {
|
|
background-color: rgba(148, 251, 224, 0.1);
|
|
}
|
|
|
|
.url-input-autocomplete-title {
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
color: #E5F1F2;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.url-input-autocomplete-title b {
|
|
color: #94FBE0;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.url-input-autocomplete-address {
|
|
font-size: 12px;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
/* =====================================================
|
|
Landing Page Components
|
|
===================================================== */
|
|
|
|
/* Hero Section */
|
|
.hero-section {
|
|
width: 100%;
|
|
min-height: 100dvh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #002224;
|
|
color: var(--color-text-white);
|
|
padding: 80px 1rem 100px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* 세로가 짧은 화면 대응 */
|
|
@media (max-height: 700px) {
|
|
.hero-section {
|
|
padding: 70px 1rem 80px;
|
|
justify-content: flex-start;
|
|
padding-top: 100px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 600px) {
|
|
.hero-section {
|
|
padding: 60px 1rem 70px;
|
|
padding-top: 80px;
|
|
}
|
|
}
|
|
|
|
/* Animated Background Orbs */
|
|
.hero-bg-orbs {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
overflow: hidden;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
|
|
/* JavaScript controlled random orbs */
|
|
.hero-orb-random {
|
|
position: absolute;
|
|
border-radius: 50%;
|
|
filter: blur(80px);
|
|
opacity: 0.65;
|
|
pointer-events: none;
|
|
will-change: left, top, transform;
|
|
}
|
|
|
|
.hero-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
z-index: 10;
|
|
position: relative;
|
|
}
|
|
|
|
.hero-logo {
|
|
width: 280px;
|
|
height: auto;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.hero-logo {
|
|
width: 400px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.hero-logo {
|
|
width: 500px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.hero-logo {
|
|
width: 554px;
|
|
}
|
|
}
|
|
|
|
/* 세로가 짧은 화면에서 로고 크기 축소 */
|
|
@media (max-height: 700px) {
|
|
.hero-logo {
|
|
width: 240px;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 600px) {
|
|
.hero-logo {
|
|
width: 200px;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.hero-subtitle {
|
|
font-size: var(--text-sm);
|
|
font-weight: 300;
|
|
margin-bottom: 2rem;
|
|
color: rgba(255, 255, 255, 0.8);
|
|
text-align: center;
|
|
max-width: 32rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.hero-subtitle {
|
|
font-size: var(--text-base);
|
|
margin-bottom: 3rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.hero-subtitle {
|
|
font-size: var(--text-lg);
|
|
}
|
|
}
|
|
|
|
/* Hero Form */
|
|
.hero-form {
|
|
width: 100%;
|
|
max-width: 400px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
|
|
/* 세로가 짧은 화면에서 폼 간격 조정 */
|
|
@media (max-height: 700px) {
|
|
.hero-form {
|
|
gap: 6px;
|
|
max-width: 350px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 600px) {
|
|
.hero-form {
|
|
gap: 4px;
|
|
max-width: 320px;
|
|
}
|
|
}
|
|
|
|
.hero-input-label {
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #ffffff;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.hero-input-wrapper {
|
|
width: 100%;
|
|
background-color: #ffffff;
|
|
border-radius: 999px;
|
|
padding: 11px 24px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
transition: box-shadow 0.2s ease;
|
|
box-sizing: border-box;
|
|
overflow: visible;
|
|
position: relative;
|
|
}
|
|
|
|
.hero-input-wrapper.focused {
|
|
box-shadow: 0 0 0 4px #379599;
|
|
}
|
|
|
|
.hero-input-wrapper.error {
|
|
box-shadow: 0 0 0 1px #F87171;
|
|
}
|
|
|
|
.hero-input {
|
|
flex: 1;
|
|
background: transparent;
|
|
border: none;
|
|
color: #6AB0B3;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
letter-spacing: -0.006em;
|
|
text-align: left;
|
|
min-width: 0;
|
|
}
|
|
|
|
.hero-input:focus {
|
|
outline: none;
|
|
}
|
|
|
|
.hero-input::placeholder {
|
|
color: #6AB0B3;
|
|
}
|
|
|
|
.hero-input.has-value {
|
|
color: #002224;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.hero-input-clear {
|
|
flex-shrink: 0;
|
|
width: 24px;
|
|
height: 24px;
|
|
padding: 0;
|
|
border: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.hero-input-clear img {
|
|
width: 24px;
|
|
height: 24px;
|
|
}
|
|
|
|
/* Hero Dropdown */
|
|
.hero-dropdown-container {
|
|
position: relative;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.hero-dropdown-trigger {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 8px 12px;
|
|
background-color: transparent;
|
|
border: none;
|
|
border-right: 1px solid #E5E7EB;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #374151;
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
transition: color 0.2s ease;
|
|
margin-right: 12px;
|
|
}
|
|
|
|
.hero-dropdown-trigger:hover {
|
|
color: #111827;
|
|
}
|
|
|
|
.hero-dropdown-arrow {
|
|
transition: transform 0.2s ease;
|
|
}
|
|
|
|
.hero-dropdown-arrow.open {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.hero-dropdown-menu {
|
|
position: absolute;
|
|
top: calc(100% + 8px);
|
|
left: 0;
|
|
min-width: 100px;
|
|
background-color: #ffffff;
|
|
border: 1px solid #E5E7EB;
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
z-index: 100;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.hero-dropdown-item {
|
|
display: block;
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
background: none;
|
|
border: none;
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
color: #6B7280;
|
|
text-align: left;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.hero-dropdown-item:hover {
|
|
background-color: #F3F4F6;
|
|
color: #111827;
|
|
}
|
|
|
|
.hero-dropdown-item.active {
|
|
background-color: #F0FDF4;
|
|
color: #059669;
|
|
}
|
|
|
|
/* Hero Autocomplete */
|
|
.hero-input-container {
|
|
flex: 1;
|
|
position: relative;
|
|
min-width: 0;
|
|
}
|
|
|
|
.hero-autocomplete-dropdown {
|
|
position: absolute;
|
|
top: calc(100% + 8px);
|
|
left: -24px;
|
|
right: -60px;
|
|
background-color: #ffffff;
|
|
border: 1px solid #E5E7EB;
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
z-index: 200;
|
|
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.hero-autocomplete-loading {
|
|
padding: 16px;
|
|
text-align: center;
|
|
color: #6B7280;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.hero-autocomplete-item {
|
|
display: block;
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
background: none;
|
|
border: none;
|
|
border-bottom: 1px solid #F3F4F6;
|
|
text-align: left;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s ease;
|
|
}
|
|
|
|
.hero-autocomplete-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.hero-autocomplete-item:hover,
|
|
.hero-autocomplete-item.highlighted {
|
|
background-color: #F9FAFB;
|
|
}
|
|
|
|
.hero-autocomplete-title {
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #111827;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.hero-autocomplete-title b {
|
|
color: #059669;
|
|
}
|
|
|
|
.hero-autocomplete-address {
|
|
font-family: 'Pretendard', sans-serif;
|
|
font-size: 12px;
|
|
color: #6B7280;
|
|
}
|
|
|
|
.hero-input-hint {
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
color: #CEE5E6;
|
|
letter-spacing: -0.006em;
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.hero-error {
|
|
color: #f87171;
|
|
font-size: var(--text-xs);
|
|
text-align: center;
|
|
}
|
|
|
|
.hero-button {
|
|
width: 100%;
|
|
padding: 11px 16px;
|
|
border-radius: 999px;
|
|
background-color: #AE72F9;
|
|
color: #ffffff;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
letter-spacing: -0.006em;
|
|
box-shadow: 0px 4px 24px 0px rgba(174, 114, 249, 0.4);
|
|
transition: all var(--transition-normal);
|
|
border: none;
|
|
cursor: pointer;
|
|
animation: button-glow 1.5s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes button-glow {
|
|
0%, 100% {
|
|
box-shadow: 0px 4px 24px 0px rgba(174, 114, 249, 0.5);
|
|
}
|
|
50% {
|
|
box-shadow: 0px 4px 28px 0px rgba(174, 114, 249, 0.8), 0px 0px 16px 0px rgba(166, 255, 234, 0.4);
|
|
}
|
|
}
|
|
|
|
.hero-button:hover {
|
|
background-color: #9a5ef0;
|
|
animation: none;
|
|
box-shadow: 0px 4px 32px 0px rgba(174, 114, 249, 0.6);
|
|
}
|
|
|
|
.hero-button:active {
|
|
transform: scale(0.98);
|
|
}
|
|
|
|
/* Scroll Indicator */
|
|
.scroll-indicator {
|
|
position: absolute;
|
|
bottom: 2rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 12px;
|
|
transition: opacity var(--transition-normal);
|
|
cursor: pointer;
|
|
background: none;
|
|
border: none;
|
|
color: #9BCACC;
|
|
z-index: 10;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.scroll-indicator {
|
|
bottom: 3rem;
|
|
}
|
|
}
|
|
|
|
/* 세로가 짧은 화면에서 스크롤 인디케이터 조정 */
|
|
@media (max-height: 700px) {
|
|
.scroll-indicator {
|
|
bottom: 1rem;
|
|
gap: 8px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 600px) {
|
|
.scroll-indicator {
|
|
bottom: 0.5rem;
|
|
gap: 4px;
|
|
}
|
|
|
|
.scroll-indicator-text {
|
|
font-size: 10px;
|
|
}
|
|
|
|
.scroll-indicator-icon {
|
|
width: 32px;
|
|
height: 32px;
|
|
}
|
|
}
|
|
|
|
.scroll-indicator:hover {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.scroll-indicator-text {
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
letter-spacing: -0.006em;
|
|
color: #9BCACC;
|
|
}
|
|
|
|
.scroll-indicator-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
border: 1px solid #9BCACC;
|
|
border-radius: 999px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
animation: bounce 2s infinite;
|
|
}
|
|
|
|
@keyframes bounce {
|
|
0%, 100% {
|
|
transform: translateY(0);
|
|
}
|
|
50% {
|
|
transform: translateY(-8px);
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
Welcome Section Components
|
|
===================================================== */
|
|
|
|
/* Welcome Section */
|
|
.welcome-section {
|
|
width: 100%;
|
|
min-height: 100dvh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
background-color: #002224;
|
|
color: var(--color-text-white);
|
|
padding: 0;
|
|
position: relative;
|
|
}
|
|
|
|
.welcome-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
padding: 2rem 1rem;
|
|
position: relative;
|
|
}
|
|
|
|
/* Star Icon - positioned at top center based on Figma (y: 144) */
|
|
.welcome-star {
|
|
position: absolute;
|
|
top: 60px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 40px;
|
|
height: 40px;
|
|
z-index: 1;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.welcome-star {
|
|
top: 80px;
|
|
}
|
|
}
|
|
|
|
.welcome-star img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.welcome-header {
|
|
text-align: center;
|
|
margin-bottom: 2rem;
|
|
z-index: 1;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.welcome-header {
|
|
margin-bottom: 3rem;
|
|
}
|
|
}
|
|
|
|
.welcome-title {
|
|
font-size: 1.5rem;
|
|
font-weight: 600;
|
|
margin-bottom: 1rem;
|
|
color: #E5F1F2;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.welcome-title {
|
|
font-size: 2rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.welcome-title {
|
|
font-size: 2.5rem;
|
|
}
|
|
}
|
|
|
|
.welcome-subtitle {
|
|
color: #9BCACC;
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.welcome-subtitle {
|
|
font-size: var(--text-base);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.welcome-subtitle {
|
|
font-size: 1.5rem;
|
|
}
|
|
}
|
|
|
|
/* Feature Cards Grid */
|
|
.feature-grid {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
width: 100%;
|
|
max-width: 1144px;
|
|
margin: 0 auto;
|
|
z-index: 1;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.feature-grid {
|
|
gap: 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-grid {
|
|
flex-direction: row;
|
|
gap: 24px;
|
|
justify-content: center;
|
|
padding: 0 2rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.feature-grid {
|
|
gap: 32px;
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
/* Feature Card */
|
|
.feature-card {
|
|
position: relative;
|
|
background-color: #01393B;
|
|
border-radius: 40px;
|
|
padding: 24px 32px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
gap: 16px;
|
|
width: 100%;
|
|
flex: 1;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-card {
|
|
flex: 1;
|
|
max-width: 280px;
|
|
min-height: 340px;
|
|
padding: 24px 24px;
|
|
gap: 20px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.feature-card {
|
|
max-width: 500px;
|
|
min-height: 440px;
|
|
padding: 24px 40px;
|
|
gap: 24px;
|
|
}
|
|
}
|
|
|
|
.feature-number-badge {
|
|
width: 32px;
|
|
height: 32px;
|
|
flex-shrink: 0;
|
|
border-radius: 999px;
|
|
border: 1px solid #9BCACC;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-number-badge {
|
|
width: 36px;
|
|
height: 36px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.feature-number-badge {
|
|
width: 40px;
|
|
height: 40px;
|
|
}
|
|
}
|
|
|
|
.feature-number-badge span {
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: #9BCACC;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.feature-number-badge span {
|
|
font-size: 20px;
|
|
}
|
|
}
|
|
|
|
.feature-card-title {
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: #E5F1F2;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-card-title {
|
|
font-size: 18px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.feature-card-title {
|
|
font-size: 24px;
|
|
}
|
|
}
|
|
|
|
.feature-icon-box {
|
|
width: 100px;
|
|
height: 100px;
|
|
border-radius: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-icon-box {
|
|
width: 120px;
|
|
height: 120px;
|
|
border-radius: 36px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.feature-icon-box {
|
|
width: 160px;
|
|
height: 160px;
|
|
border-radius: 40px;
|
|
}
|
|
}
|
|
|
|
.feature-icon-img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.feature-card-description {
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
color: #E5F1F2;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.45;
|
|
white-space: pre-line;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-card-description {
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.feature-card-description {
|
|
font-size: 16px;
|
|
}
|
|
}
|
|
|
|
/* Legacy feature-item styles (for backward compatibility) */
|
|
.feature-item {
|
|
position: relative;
|
|
background-color: #01393B;
|
|
border-radius: 2.5rem;
|
|
padding: 1.5rem 2rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
transition: all var(--transition-normal);
|
|
border: 1px solid transparent;
|
|
gap: 1.5rem;
|
|
width: 100%;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-item {
|
|
width: 360px;
|
|
min-height: 440px;
|
|
padding: 1.5rem 2.5rem;
|
|
}
|
|
}
|
|
|
|
.feature-number {
|
|
width: 2.5rem;
|
|
height: 2.5rem;
|
|
flex-shrink: 0;
|
|
border-radius: var(--radius-full);
|
|
border: 1px solid #9BCACC;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
color: #9BCACC;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
.feature-title {
|
|
font-size: var(--text-base);
|
|
font-weight: 600;
|
|
color: #E5F1F2;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-title {
|
|
font-size: 1.5rem;
|
|
}
|
|
}
|
|
|
|
.feature-icon {
|
|
width: 160px;
|
|
height: 160px;
|
|
border-radius: 2.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
.feature-icon img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.feature-description {
|
|
color: #E5F1F2;
|
|
font-size: var(--text-sm);
|
|
line-height: 1.45;
|
|
letter-spacing: -0.006em;
|
|
white-space: pre-line;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.feature-description {
|
|
font-size: var(--text-base);
|
|
}
|
|
}
|
|
|
|
/* Welcome Button */
|
|
.btn-start {
|
|
padding: 0.625rem 3rem;
|
|
border-radius: var(--radius-full);
|
|
background-color: #AE72F9;
|
|
color: var(--color-text-white);
|
|
font-weight: 600;
|
|
font-size: var(--text-sm);
|
|
transition: all var(--transition-normal);
|
|
border: none;
|
|
cursor: pointer;
|
|
margin: 0 auto;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.btn-start {
|
|
padding: 0.75rem 3.5rem;
|
|
}
|
|
}
|
|
|
|
.btn-start:hover {
|
|
background-color: #9570f0;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 10px 20px rgba(174, 114, 249, 0.3);
|
|
}
|
|
|
|
.btn-start:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* Legacy buttons - keep for other sections */
|
|
.welcome-buttons {
|
|
display: flex;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.btn-ghost {
|
|
padding: 0.75rem 2rem;
|
|
border-radius: var(--radius-full);
|
|
border: 1px solid var(--color-border-gray-700);
|
|
background-color: transparent;
|
|
color: var(--color-text-white);
|
|
font-weight: 700;
|
|
font-size: var(--text-xs);
|
|
transition: all var(--transition-normal);
|
|
cursor: pointer;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.btn-ghost {
|
|
font-size: var(--text-sm);
|
|
}
|
|
}
|
|
|
|
.btn-ghost:hover {
|
|
background-color: rgba(255, 255, 255, 0.05);
|
|
}
|
|
|
|
.btn-cta {
|
|
padding: 0.75rem 2.5rem;
|
|
border-radius: var(--radius-full);
|
|
background-color: var(--color-purple);
|
|
color: var(--color-text-white);
|
|
font-weight: 700;
|
|
font-size: var(--text-xs);
|
|
box-shadow: var(--shadow-purple);
|
|
transition: all var(--transition-normal);
|
|
border: none;
|
|
cursor: pointer;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.btn-cta {
|
|
font-size: var(--text-sm);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.btn-cta {
|
|
padding: 0.75rem 3.5rem;
|
|
}
|
|
}
|
|
|
|
.btn-cta:hover {
|
|
background-color: var(--color-purple-hover);
|
|
}
|
|
|
|
.btn-cta:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* =====================================================
|
|
Display Section Components
|
|
===================================================== */
|
|
|
|
/* Display Section */
|
|
.display-section {
|
|
width: 100%;
|
|
min-height: 100dvh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
background-color: #002224;
|
|
color: var(--color-text-white);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.display-section .content-safe-area {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Display Frames Container */
|
|
.display-frames {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
margin-bottom: 2rem;
|
|
width: 100%;
|
|
max-width: 72rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.display-frames {
|
|
gap: 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.display-frames {
|
|
gap: 2rem;
|
|
margin-bottom: 3rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.display-frames {
|
|
gap: 2rem;
|
|
}
|
|
}
|
|
|
|
/* Display Frame - 가로 크기는 feature-card와 일치, 세로는 9:16 비율 */
|
|
.display-frame {
|
|
display: flex;
|
|
width: 120px;
|
|
height: 213px;
|
|
border-radius: 2.5rem;
|
|
overflow: hidden;
|
|
position: relative;
|
|
transition: all var(--transition-normal);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.display-frame {
|
|
width: 160px;
|
|
height: 284px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.display-frame {
|
|
width: 280px;
|
|
height: 498px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.display-frame {
|
|
width: 340px;
|
|
height: 604px;
|
|
}
|
|
}
|
|
|
|
.display-frame img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.display-video {
|
|
width: 100%;
|
|
height: 100%;
|
|
border: none;
|
|
border-radius: 2.5rem;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.display-frame-hidden-mobile {
|
|
display: none;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.display-frame-hidden-mobile {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
/* Legacy Video Frames - Keep for backward compatibility */
|
|
.video-frames {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
margin-bottom: 2rem;
|
|
width: 100%;
|
|
max-width: 72rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.video-frames {
|
|
gap: 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.video-frames {
|
|
gap: 2.5rem;
|
|
margin-bottom: 4rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.video-frames {
|
|
gap: 3.5rem;
|
|
}
|
|
}
|
|
|
|
/* Phone Frame */
|
|
.phone-frame {
|
|
display: flex;
|
|
width: 135px;
|
|
aspect-ratio: 9/16;
|
|
border-radius: 24px;
|
|
background-color: #000;
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
overflow: hidden;
|
|
position: relative;
|
|
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.9);
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: all var(--transition-normal);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.phone-frame {
|
|
width: 190px;
|
|
border-radius: 40px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.phone-frame {
|
|
width: 230px;
|
|
border-radius: 48px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.phone-frame {
|
|
width: 280px;
|
|
}
|
|
}
|
|
|
|
.phone-frame.hidden-mobile {
|
|
display: none;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.phone-frame.hidden-mobile {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.phone-video-container {
|
|
position: absolute;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.phone-video-container iframe {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
width: 180%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.phone-bezel {
|
|
position: absolute;
|
|
inset: 0;
|
|
border: 6px solid #20282b;
|
|
border-radius: 24px;
|
|
pointer-events: none;
|
|
z-index: 20;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.phone-bezel {
|
|
border-width: 10px;
|
|
border-radius: 40px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.phone-bezel {
|
|
border-radius: 48px;
|
|
}
|
|
}
|
|
|
|
.phone-notch {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 25%;
|
|
height: 12px;
|
|
background-color: #20282b;
|
|
border-bottom-left-radius: 16px;
|
|
border-bottom-right-radius: 16px;
|
|
z-index: 30;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.phone-notch {
|
|
height: 20px;
|
|
}
|
|
}
|
|
|
|
/* Display Button */
|
|
.display-button {
|
|
padding: 0.625rem 3rem;
|
|
border-radius: var(--radius-full);
|
|
background-color: #AE72F9;
|
|
color: var(--color-text-white);
|
|
font-weight: 600;
|
|
font-size: var(--text-sm);
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
transition: all var(--transition-normal);
|
|
border: none;
|
|
cursor: pointer;
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.display-button {
|
|
padding: 0.75rem 3.5rem;
|
|
}
|
|
}
|
|
|
|
.display-button:hover {
|
|
background-color: #9570f0;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 10px 20px rgba(174, 114, 249, 0.3);
|
|
}
|
|
|
|
.display-button:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* =====================================================
|
|
Login Section Components
|
|
===================================================== */
|
|
|
|
/* Login Container */
|
|
.login-container {
|
|
width: 100%;
|
|
height: 100dvh;
|
|
background-color: #002224;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--color-text-white);
|
|
padding: 1rem;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.login-container {
|
|
padding: 1.5rem;
|
|
}
|
|
}
|
|
|
|
/* Login Back Button */
|
|
.login-back-btn {
|
|
position: absolute;
|
|
top: 0.875rem;
|
|
left: 1.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
padding: 0.5rem 1.25rem 0.5rem 0.5rem;
|
|
border-radius: var(--radius-full);
|
|
border: 1px solid #694596;
|
|
background-color: transparent;
|
|
color: #CFABFB;
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
transition: all var(--transition-normal);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.login-back-btn img {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
|
|
.login-back-btn:hover {
|
|
background-color: rgba(105, 69, 150, 0.1);
|
|
border-color: #8662C7;
|
|
}
|
|
|
|
.login-back-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* Login Content */
|
|
.login-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
gap: 4rem;
|
|
max-width: 600px;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.login-content {
|
|
gap: 5rem;
|
|
}
|
|
}
|
|
|
|
/* Login Logo */
|
|
.login-logo {
|
|
width: 350px;
|
|
height: auto;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.login-logo {
|
|
width: 554px;
|
|
}
|
|
}
|
|
|
|
.login-logo img {
|
|
width: 100%;
|
|
height: auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* Kakao Button */
|
|
.btn-kakao {
|
|
width: 100%;
|
|
max-width: 250px;
|
|
padding: 0.75rem 1rem;
|
|
border-radius: var(--radius-full);
|
|
background-color: #FEE500;
|
|
color: rgba(0, 0, 0, 0.85);
|
|
font-weight: 600;
|
|
font-size: var(--text-base);
|
|
letter-spacing: 0;
|
|
line-height: 1.19;
|
|
transition: all var(--transition-normal);
|
|
border: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.btn-kakao {
|
|
max-width: 296px;
|
|
padding: 0.9375rem 1rem;
|
|
}
|
|
}
|
|
|
|
.btn-kakao:hover {
|
|
background-color: #FDDC00;
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(254, 229, 0, 0.3);
|
|
}
|
|
|
|
.btn-kakao:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
.btn-kakao:disabled {
|
|
opacity: 0.6;
|
|
cursor: not-allowed;
|
|
transform: none;
|
|
}
|
|
|
|
.btn-kakao:disabled:hover {
|
|
background-color: #FEE500;
|
|
transform: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
/* Login Error */
|
|
.login-error {
|
|
color: #FF6B6B;
|
|
font-size: 14px;
|
|
text-align: center;
|
|
padding: 12px 16px;
|
|
background-color: rgba(255, 107, 107, 0.1);
|
|
border-radius: 8px;
|
|
margin-bottom: 16px;
|
|
max-width: 296px;
|
|
width: 100%;
|
|
}
|
|
|
|
/* Legacy styles - keep for backward compatibility */
|
|
.login-title {
|
|
font-family: 'Playfair Display', serif;
|
|
font-style: italic;
|
|
font-size: var(--text-3xl);
|
|
font-weight: 700;
|
|
margin-bottom: 0.5rem;
|
|
letter-spacing: -0.025em;
|
|
line-height: 1;
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.login-title {
|
|
font-size: var(--text-4xl);
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.login-title {
|
|
font-size: 3rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.login-title {
|
|
font-size: 3.75rem;
|
|
}
|
|
}
|
|
|
|
.login-subtitle {
|
|
font-size: 9px;
|
|
font-weight: 300;
|
|
margin-bottom: 1.5rem;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.login-subtitle {
|
|
font-size: 10px;
|
|
margin-bottom: 2rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.login-subtitle {
|
|
font-size: var(--text-xs);
|
|
margin-bottom: 2.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.login-subtitle {
|
|
font-size: var(--text-sm);
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
Loading Section Components
|
|
===================================================== */
|
|
|
|
/* Loading Container */
|
|
.loading-container {
|
|
width: 100%;
|
|
height: 100vh;
|
|
background-color: #002224;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--color-text-white);
|
|
padding: 0 1.5rem;
|
|
}
|
|
|
|
.loading-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 3rem;
|
|
max-width: 600px;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.loading-content {
|
|
gap: 4rem;
|
|
}
|
|
}
|
|
|
|
/* Loading Logo */
|
|
.loading-logo {
|
|
width: 200px;
|
|
height: auto;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.loading-logo {
|
|
width: 308px;
|
|
}
|
|
}
|
|
|
|
.loading-logo img {
|
|
width: 100%;
|
|
height: auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* Loading Section */
|
|
.loading-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 2rem;
|
|
width: 100%;
|
|
}
|
|
|
|
.loading-title {
|
|
font-size: 1.5rem;
|
|
font-weight: 700;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
color: #FFFFFF;
|
|
text-align: center;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.loading-title {
|
|
font-size: 2rem;
|
|
}
|
|
}
|
|
|
|
/* Loading Spinner Wrapper */
|
|
.loading-spinner-wrapper {
|
|
width: 120px;
|
|
height: 120px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.loading-spinner-wrapper {
|
|
width: 200px;
|
|
height: 200px;
|
|
}
|
|
}
|
|
|
|
.loading-spinner-icon {
|
|
width: 100%;
|
|
height: 100%;
|
|
animation: spin 2s linear infinite;
|
|
}
|
|
|
|
/* Legacy Loading Spinner - Keep for backward compatibility */
|
|
.loading-spinner {
|
|
position: relative;
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.loading-ring {
|
|
width: 4rem;
|
|
height: 4rem;
|
|
border: 4px solid rgba(166, 130, 255, 0.2);
|
|
border-top-color: var(--color-purple);
|
|
border-radius: var(--radius-full);
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
.loading-dot {
|
|
position: absolute;
|
|
inset: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.loading-dot-inner {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
background-color: var(--color-purple);
|
|
border-radius: var(--radius-full);
|
|
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
box-shadow: 0 0 15px var(--color-purple);
|
|
}
|
|
|
|
.loading-text {
|
|
text-align: center;
|
|
}
|
|
|
|
.loading-text > * + * {
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.loading-description {
|
|
color: var(--color-text-gray-400);
|
|
font-size: var(--text-sm);
|
|
font-weight: 300;
|
|
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.loading-description {
|
|
font-size: var(--text-base);
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
Dashboard Content Components
|
|
===================================================== */
|
|
|
|
/* Dashboard Container */
|
|
.dashboard-container {
|
|
width: 100%;
|
|
padding: 0.75rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--color-bg-dark);
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.dashboard-container {
|
|
padding: 1rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.dashboard-container {
|
|
padding: 1.5rem;
|
|
}
|
|
}
|
|
|
|
/* Dashboard Header */
|
|
.dashboard-header {
|
|
flex-shrink: 0;
|
|
margin-bottom: 0.5rem;
|
|
margin-left: 2.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.dashboard-header {
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.dashboard-header {
|
|
margin-bottom: 1rem;
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
|
|
.dashboard-title {
|
|
font-size: var(--text-lg);
|
|
font-weight: 700;
|
|
letter-spacing: -0.025em;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.dashboard-title {
|
|
font-size: var(--text-xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.dashboard-title {
|
|
font-size: 1.5rem;
|
|
}
|
|
}
|
|
|
|
.dashboard-description {
|
|
font-size: 9px;
|
|
color: var(--color-text-gray-500);
|
|
margin-top: 0.125rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.dashboard-description {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
/* Stats Grid */
|
|
.stats-grid {
|
|
flex-shrink: 0;
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 0.5rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stats-grid {
|
|
gap: 0.75rem;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.stats-grid {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Stat Card */
|
|
.stat-card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.5rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
gap: 0.125rem;
|
|
box-shadow: var(--shadow-xl);
|
|
transition: transform var(--transition-normal);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stat-card {
|
|
padding: 0.75rem;
|
|
border-radius: var(--radius-2xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.stat-card {
|
|
padding: 1rem;
|
|
}
|
|
}
|
|
|
|
.stat-card:hover {
|
|
transform: scale(1.02);
|
|
}
|
|
|
|
.stat-label {
|
|
font-size: 8px;
|
|
font-weight: 700;
|
|
color: var(--color-text-gray-400);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.1em;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stat-label {
|
|
font-size: 9px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.stat-label {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
.stat-value {
|
|
font-size: var(--text-lg);
|
|
font-weight: 700;
|
|
color: var(--color-text-white);
|
|
line-height: 1.25;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stat-value {
|
|
font-size: var(--text-xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.stat-value {
|
|
font-size: 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.stat-value {
|
|
font-size: var(--text-3xl);
|
|
}
|
|
}
|
|
|
|
.stat-trend {
|
|
font-size: 8px;
|
|
color: var(--color-mint);
|
|
font-weight: 500;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stat-trend {
|
|
font-size: 9px;
|
|
}
|
|
}
|
|
|
|
/* Chart Card */
|
|
.chart-card {
|
|
flex: 1;
|
|
min-height: 0;
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.75rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
display: flex;
|
|
flex-direction: column;
|
|
position: relative;
|
|
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
overflow: hidden;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.chart-card {
|
|
padding: 1rem;
|
|
border-radius: var(--radius-2xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.chart-card {
|
|
padding: 1.5rem;
|
|
border-radius: var(--radius-3xl);
|
|
}
|
|
}
|
|
|
|
.chart-header {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.chart-header {
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.chart-header {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
.chart-title {
|
|
font-size: 8px;
|
|
font-weight: 700;
|
|
color: var(--color-text-gray-400);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.1em;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.chart-title {
|
|
font-size: 9px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.chart-title {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
.chart-legend {
|
|
display: flex;
|
|
gap: 0.375rem;
|
|
align-items: center;
|
|
}
|
|
|
|
.chart-legend-dot {
|
|
width: 0.375rem;
|
|
height: 0.375rem;
|
|
border-radius: var(--radius-full);
|
|
background-color: var(--color-mint);
|
|
}
|
|
|
|
.chart-legend-text {
|
|
font-size: 8px;
|
|
color: var(--color-text-gray-400);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.chart-legend-text {
|
|
font-size: 9px;
|
|
}
|
|
}
|
|
|
|
.chart-container {
|
|
flex: 1;
|
|
position: relative;
|
|
min-height: 0;
|
|
}
|
|
|
|
.chart-badge {
|
|
position: absolute;
|
|
top: 45%;
|
|
left: 55%;
|
|
transform: translate(-50%, -100%);
|
|
margin-bottom: 0.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.chart-badge-value {
|
|
background-color: var(--color-mint);
|
|
color: var(--color-bg-dark);
|
|
padding: 0.125rem 0.5rem;
|
|
border-radius: var(--radius-md);
|
|
font-size: 9px;
|
|
font-weight: 700;
|
|
box-shadow: 0 20px 25px -5px rgba(166, 255, 234, 0.2);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.chart-badge-value {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
.chart-badge-line {
|
|
width: 2px;
|
|
height: 0.5rem;
|
|
background-color: rgba(166, 255, 234, 0.5);
|
|
margin-top: 0.125rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.chart-badge-line {
|
|
height: 0.75rem;
|
|
}
|
|
}
|
|
|
|
.chart-xaxis {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 0.5rem;
|
|
padding: 0 0.5rem;
|
|
font-size: 8px;
|
|
color: var(--color-text-gray-500);
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.1em;
|
|
border-top: 1px solid var(--color-border-white-5);
|
|
padding-top: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.chart-xaxis {
|
|
margin-top: 0.75rem;
|
|
padding: 0 1rem;
|
|
font-size: 9px;
|
|
padding-top: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.chart-xaxis {
|
|
margin-top: 1rem;
|
|
padding: 0 1.5rem;
|
|
}
|
|
}
|
|
|
|
/* Dashboard Header Extended */
|
|
.dashboard-header-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
margin-bottom: 0.5rem;
|
|
margin-left: 2.5rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.dashboard-header-row {
|
|
margin-bottom: 1rem;
|
|
margin-left: 0;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
.dashboard-last-updated {
|
|
font-size: 8px;
|
|
color: var(--color-text-gray-500);
|
|
display: none;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.dashboard-last-updated {
|
|
display: block;
|
|
font-size: 9px;
|
|
}
|
|
}
|
|
|
|
/* Stats Grid 5 Columns */
|
|
.stats-grid-5 {
|
|
flex-shrink: 0;
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 0.5rem;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stats-grid-5 {
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 0.75rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.stats-grid-5 {
|
|
grid-template-columns: repeat(5, 1fr);
|
|
}
|
|
}
|
|
|
|
/* Stat Trend with Direction */
|
|
.stat-trend-wrapper {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.stat-trend-icon {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stat-trend-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
}
|
|
|
|
.stat-trend.up {
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
.stat-trend.down {
|
|
color: #f87171;
|
|
}
|
|
|
|
/* Dashboard Section */
|
|
.dashboard-section {
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.dashboard-section {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
.dashboard-section-title {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.dashboard-section-title {
|
|
font-size: var(--text-base);
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
}
|
|
|
|
/* Chart Legend Dual (for YoY comparison) */
|
|
.chart-legend-dual {
|
|
display: flex;
|
|
gap: 1rem;
|
|
align-items: center;
|
|
}
|
|
|
|
.chart-legend-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
}
|
|
|
|
.chart-legend-line {
|
|
width: 1rem;
|
|
height: 2px;
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.chart-legend-line.solid {
|
|
background-color: var(--color-mint);
|
|
}
|
|
|
|
.chart-legend-line.dashed {
|
|
background: repeating-linear-gradient(
|
|
90deg,
|
|
var(--color-purple) 0px,
|
|
var(--color-purple) 3px,
|
|
transparent 3px,
|
|
transparent 6px
|
|
);
|
|
}
|
|
|
|
/* Platform Tabs */
|
|
.platform-tabs {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.platform-tabs {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
.platform-tab {
|
|
padding: 0.5rem 0.75rem;
|
|
border-radius: var(--radius-full);
|
|
border: 1px solid var(--color-border-gray-700);
|
|
background-color: transparent;
|
|
color: var(--color-text-gray-400);
|
|
font-size: var(--text-xs);
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.platform-tab {
|
|
padding: 0.5rem 1rem;
|
|
font-size: var(--text-sm);
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.platform-tab:hover {
|
|
border-color: var(--color-border-gray-600);
|
|
color: var(--color-text-gray-300);
|
|
}
|
|
|
|
.platform-tab.active {
|
|
border-color: var(--color-mint);
|
|
background-color: rgba(166, 255, 234, 0.1);
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
.platform-tab-icon {
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.platform-tab-icon {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Platform Metrics Grid */
|
|
.platform-metrics-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.platform-metrics-grid {
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.platform-metrics-grid {
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Metric Card */
|
|
.metric-card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.75rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.375rem;
|
|
box-shadow: var(--shadow-xl);
|
|
transition: transform var(--transition-normal);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.metric-card {
|
|
padding: 1rem;
|
|
border-radius: var(--radius-2xl);
|
|
gap: 0.5rem;
|
|
}
|
|
}
|
|
|
|
.metric-card:hover {
|
|
transform: scale(1.02);
|
|
}
|
|
|
|
.metric-card-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
}
|
|
|
|
.metric-card-icon {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
color: var(--color-text-gray-400);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.metric-card-icon {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
}
|
|
}
|
|
|
|
.metric-card-label {
|
|
font-size: var(--text-xs);
|
|
color: var(--color-text-gray-400);
|
|
font-weight: 500;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.metric-card-label {
|
|
font-size: var(--text-sm);
|
|
}
|
|
}
|
|
|
|
.metric-card-value {
|
|
font-size: var(--text-xl);
|
|
font-weight: 700;
|
|
color: var(--color-text-white);
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.metric-card-value {
|
|
font-size: var(--text-2xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.metric-card-value {
|
|
font-size: 1.75rem;
|
|
}
|
|
}
|
|
|
|
.metric-card-unit {
|
|
font-size: var(--text-xs);
|
|
color: var(--color-text-gray-500);
|
|
font-weight: 400;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.metric-card-unit {
|
|
font-size: var(--text-sm);
|
|
}
|
|
}
|
|
|
|
.metric-card-trend {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
font-size: 9px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.metric-card-trend {
|
|
font-size: var(--text-xs);
|
|
}
|
|
}
|
|
|
|
.metric-card-trend.up {
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
.metric-card-trend.down {
|
|
color: #f87171;
|
|
}
|
|
|
|
.metric-card-trend-icon {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.metric-card-trend-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
}
|
|
}
|
|
|
|
/* YoY Chart */
|
|
.yoy-chart-card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.75rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
box-shadow: var(--shadow-xl);
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.yoy-chart-card {
|
|
padding: 1rem;
|
|
border-radius: var(--radius-2xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.yoy-chart-card {
|
|
padding: 1.5rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
.yoy-chart-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.yoy-chart-header {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
.yoy-chart-container {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 180px;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.yoy-chart-container {
|
|
height: 220px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.yoy-chart-container {
|
|
height: 280px;
|
|
}
|
|
}
|
|
|
|
.yoy-chart-svg {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.yoy-chart-xaxis {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-top: 0.5rem;
|
|
padding: 0;
|
|
font-size: 8px;
|
|
color: var(--color-text-gray-500);
|
|
font-weight: 500;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.yoy-chart-xaxis {
|
|
font-size: 9px;
|
|
margin-top: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.yoy-chart-xaxis {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
/* Chart Wrapper for Tooltip */
|
|
.yoy-chart-wrapper {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
/* Chart Tooltip */
|
|
.chart-tooltip {
|
|
position: absolute;
|
|
transform: translate(-50%, -100%);
|
|
margin-top: -12px;
|
|
background-color: rgba(28, 42, 46, 0.95);
|
|
border: 1px solid var(--color-border-white-10);
|
|
border-radius: var(--radius-lg);
|
|
padding: 0.75rem;
|
|
min-width: 120px;
|
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
|
|
pointer-events: none;
|
|
z-index: 100;
|
|
animation: tooltipFadeIn 0.2s ease;
|
|
}
|
|
|
|
@keyframes tooltipFadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translate(-50%, -90%);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translate(-50%, -100%);
|
|
}
|
|
}
|
|
|
|
.chart-tooltip-title {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
margin-bottom: 0.5rem;
|
|
text-align: center;
|
|
}
|
|
|
|
.chart-tooltip-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.chart-tooltip-dot {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.chart-tooltip-dot.mint {
|
|
background-color: var(--color-mint);
|
|
}
|
|
|
|
.chart-tooltip-dot.purple {
|
|
background-color: var(--color-purple);
|
|
}
|
|
|
|
.chart-tooltip-label {
|
|
font-size: var(--text-xs);
|
|
color: var(--color-text-gray-400);
|
|
flex: 1;
|
|
}
|
|
|
|
.chart-tooltip-value {
|
|
font-size: var(--text-xs);
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.chart-tooltip-change {
|
|
margin-top: 0.5rem;
|
|
padding-top: 0.5rem;
|
|
border-top: 1px solid var(--color-border-white-5);
|
|
font-size: var(--text-xs);
|
|
font-weight: 600;
|
|
color: var(--color-mint);
|
|
text-align: center;
|
|
}
|
|
|
|
/* Chart Animations */
|
|
.chart-line-animated {
|
|
stroke-dasharray: 2000;
|
|
stroke-dashoffset: 2000;
|
|
transition: stroke-dashoffset 1.5s ease-out;
|
|
}
|
|
|
|
.chart-line-animated.visible {
|
|
stroke-dashoffset: 0;
|
|
}
|
|
|
|
.chart-area-animated {
|
|
opacity: 0;
|
|
transition: opacity 0.8s ease-out 0.5s;
|
|
}
|
|
|
|
.chart-area-animated.visible {
|
|
opacity: 1;
|
|
}
|
|
|
|
.chart-point-animated {
|
|
opacity: 0;
|
|
transform-origin: center;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
.chart-point-animated.visible {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Platform Section Card */
|
|
.platform-section-card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.75rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
box-shadow: var(--shadow-xl);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.platform-section-card {
|
|
padding: 1rem;
|
|
border-radius: var(--radius-2xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.platform-section-card {
|
|
padding: 1.5rem;
|
|
}
|
|
}
|
|
|
|
.platform-section-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 0.75rem;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.platform-section-header {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Stats Grid 8 Columns */
|
|
.stats-grid-8 {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.stats-grid-8 {
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.stats-grid-8 {
|
|
grid-template-columns: repeat(8, 1fr);
|
|
}
|
|
}
|
|
|
|
/* Platform Metrics Grid 8 Columns */
|
|
.platform-metrics-grid-8 {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.platform-metrics-grid-8 {
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.platform-metrics-grid-8 {
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Dashboard Two Column Layout */
|
|
.dashboard-two-column {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: 0.75rem;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.dashboard-two-column {
|
|
grid-template-columns: 2fr 1fr;
|
|
gap: 1rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Top Content Card */
|
|
.top-content-card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.75rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
box-shadow: var(--shadow-xl);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.top-content-card {
|
|
padding: 1rem;
|
|
border-radius: var(--radius-2xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.top-content-card {
|
|
padding: 1.5rem;
|
|
}
|
|
}
|
|
|
|
.top-content-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.top-content-item {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
padding: 0.5rem;
|
|
border-radius: var(--radius-lg);
|
|
background-color: var(--color-bg-card-inner);
|
|
transition: transform var(--transition-normal);
|
|
}
|
|
|
|
.top-content-item:hover {
|
|
transform: scale(1.01);
|
|
}
|
|
|
|
.top-content-thumbnail {
|
|
position: relative;
|
|
width: 80px;
|
|
height: 45px;
|
|
border-radius: var(--radius-md);
|
|
overflow: hidden;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.top-content-thumbnail {
|
|
width: 100px;
|
|
height: 56px;
|
|
}
|
|
}
|
|
|
|
.top-content-thumbnail img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.top-content-platform-badge {
|
|
position: absolute;
|
|
bottom: 4px;
|
|
right: 4px;
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
border-radius: var(--radius-sm);
|
|
padding: 2px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.top-content-platform-icon {
|
|
width: 12px;
|
|
height: 12px;
|
|
color: white;
|
|
}
|
|
|
|
.top-content-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.top-content-title {
|
|
font-size: var(--text-xs);
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.top-content-title {
|
|
font-size: var(--text-sm);
|
|
}
|
|
}
|
|
|
|
.top-content-stats {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.top-content-stat {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
font-size: 10px;
|
|
color: var(--color-text-gray-400);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.top-content-stat {
|
|
font-size: var(--text-xs);
|
|
}
|
|
}
|
|
|
|
.top-content-stat svg {
|
|
color: var(--color-text-gray-500);
|
|
}
|
|
|
|
.top-content-date {
|
|
font-size: 9px;
|
|
color: var(--color-text-gray-500);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.top-content-date {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
/* Audience Section */
|
|
.audience-section {
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.audience-section {
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
.audience-cards {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.audience-cards {
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 1rem;
|
|
}
|
|
}
|
|
|
|
.audience-card {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 1rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
box-shadow: var(--shadow-xl);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.audience-card {
|
|
padding: 1.25rem;
|
|
border-radius: var(--radius-2xl);
|
|
}
|
|
}
|
|
|
|
.audience-card-title {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: var(--color-text-gray-300);
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* Audience Bar Chart */
|
|
.audience-bar-chart {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.625rem;
|
|
}
|
|
|
|
.audience-bar-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.audience-bar-label {
|
|
font-size: var(--text-xs);
|
|
color: var(--color-text-gray-400);
|
|
width: 40px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.audience-bar-track {
|
|
flex: 1;
|
|
height: 8px;
|
|
background-color: var(--color-bg-card-inner);
|
|
border-radius: var(--radius-full);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.audience-bar-fill {
|
|
height: 100%;
|
|
background: linear-gradient(90deg, var(--color-mint), var(--color-purple));
|
|
border-radius: var(--radius-full);
|
|
transition: width 0.5s ease-out;
|
|
}
|
|
|
|
.audience-bar-value {
|
|
font-size: var(--text-xs);
|
|
color: var(--color-text-white);
|
|
width: 36px;
|
|
text-align: right;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Gender Chart */
|
|
.gender-chart {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.gender-chart-bars {
|
|
display: flex;
|
|
height: 32px;
|
|
border-radius: var(--radius-full);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.gender-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: width 0.5s ease-out;
|
|
}
|
|
|
|
.gender-bar span {
|
|
font-size: var(--text-xs);
|
|
font-weight: 600;
|
|
color: var(--color-bg-dark);
|
|
}
|
|
|
|
.gender-bar.male {
|
|
background: linear-gradient(90deg, #60a5fa, #3b82f6);
|
|
}
|
|
|
|
.gender-bar.female {
|
|
background: linear-gradient(90deg, #f472b6, #ec4899);
|
|
}
|
|
|
|
.gender-chart-labels {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.gender-label {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
font-size: var(--text-xs);
|
|
color: var(--color-text-gray-400);
|
|
}
|
|
|
|
.gender-label::before {
|
|
content: '';
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.gender-label.male::before {
|
|
background-color: #3b82f6;
|
|
}
|
|
|
|
.gender-label.female::before {
|
|
background-color: #ec4899;
|
|
}
|
|
|
|
/* =====================================================
|
|
Business Settings Components
|
|
===================================================== */
|
|
|
|
/* Settings Container */
|
|
.settings-container {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0.75rem;
|
|
background-color: var(--color-bg-dark);
|
|
color: var(--color-text-white);
|
|
overflow: hidden;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.settings-container {
|
|
padding: 1rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.settings-container {
|
|
padding: 1.5rem;
|
|
}
|
|
}
|
|
|
|
/* Settings Header */
|
|
.settings-header {
|
|
text-align: center;
|
|
margin-bottom: 1rem;
|
|
max-width: 42rem;
|
|
margin-left: 2.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.settings-header {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.settings-header {
|
|
margin-bottom: 2rem;
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
|
|
.settings-title {
|
|
font-size: var(--text-lg);
|
|
font-weight: 700;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.settings-title {
|
|
font-size: var(--text-xl);
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.settings-title {
|
|
font-size: 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.settings-title {
|
|
font-size: var(--text-3xl);
|
|
}
|
|
}
|
|
|
|
.settings-description {
|
|
color: var(--color-text-gray-400);
|
|
font-size: 9px;
|
|
font-weight: 300;
|
|
line-height: 1.625;
|
|
opacity: 0.8;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.settings-description {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.settings-description {
|
|
font-size: var(--text-xs);
|
|
}
|
|
}
|
|
|
|
/* Settings Card */
|
|
.settings-card {
|
|
width: 100%;
|
|
max-width: 36rem;
|
|
}
|
|
|
|
.settings-card-inner {
|
|
background-color: var(--color-bg-card);
|
|
border-radius: var(--radius-xl);
|
|
padding: 0.75rem;
|
|
border: 1px solid var(--color-border-white-5);
|
|
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.settings-card-inner {
|
|
padding: 1rem;
|
|
border-radius: var(--radius-2xl);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.settings-card-inner {
|
|
padding: 1.5rem;
|
|
border-radius: var(--radius-3xl);
|
|
}
|
|
}
|
|
|
|
.settings-card-title {
|
|
color: var(--color-mint);
|
|
font-size: 9px;
|
|
font-weight: 700;
|
|
margin-bottom: 0.5rem;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.settings-card-title {
|
|
font-size: 10px;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.settings-card-title {
|
|
font-size: var(--text-xs);
|
|
margin-bottom: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Social Items */
|
|
.social-items {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.social-items {
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
|
|
.social-item {
|
|
background-color: var(--color-bg-dark);
|
|
padding: 0.5rem;
|
|
border-radius: var(--radius-lg);
|
|
border: 1px solid var(--color-border-white-5);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
transition: border-color var(--transition-normal);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.social-item {
|
|
padding: 0.75rem;
|
|
border-radius: var(--radius-xl);
|
|
}
|
|
}
|
|
|
|
.social-item:hover {
|
|
border-color: var(--color-border-white-10);
|
|
}
|
|
|
|
.social-item-left {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.social-item-left {
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
|
|
.social-item-icon {
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
border-radius: var(--radius-lg);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.social-item-icon {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
}
|
|
}
|
|
|
|
.social-item-icon-inner {
|
|
width: 0.75rem;
|
|
height: 0.75rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.social-item-icon-inner {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
}
|
|
}
|
|
|
|
.social-item-name {
|
|
font-size: 10px;
|
|
font-weight: 700;
|
|
color: var(--color-text-gray-300);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.social-item-name {
|
|
font-size: var(--text-xs);
|
|
}
|
|
}
|
|
|
|
.social-item-connect {
|
|
color: var(--color-mint);
|
|
font-size: 9px;
|
|
font-weight: 700;
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.social-item-connect {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
.social-item-connect:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
/* =====================================================
|
|
Footer Component
|
|
===================================================== */
|
|
|
|
/* Landing Footer */
|
|
.landing-footer {
|
|
width: 100%;
|
|
background-color: #002224;
|
|
padding: 40px 1.5rem;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.landing-footer {
|
|
padding: 48px 5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.landing-footer {
|
|
padding: 60px 148px;
|
|
}
|
|
}
|
|
|
|
.footer-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2rem;
|
|
max-width: 1144px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.footer-content {
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: 4rem;
|
|
}
|
|
}
|
|
|
|
.footer-left {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.footer-logo {
|
|
height: 24px;
|
|
width: auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.footer-copyright {
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
color: #379599;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
.footer-right {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
|
|
.footer-info {
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
color: #CEE5E6;
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.footer-info {
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
Header Component
|
|
===================================================== */
|
|
|
|
/* Landing Header */
|
|
.landing-header {
|
|
width: calc(100% - 2rem);
|
|
max-width: 1280px;
|
|
padding: 12px 12px 12px 24px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
position: fixed;
|
|
top: 16px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
z-index: 100;
|
|
background: rgba(0, 34, 36, 0.3);
|
|
border: 1px solid rgba(229, 241, 242, 0.2);
|
|
border-radius: 999px;
|
|
backdrop-filter: blur(40px);
|
|
-webkit-backdrop-filter: blur(40px);
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.landing-header {
|
|
width: calc(100% - 10rem);
|
|
}
|
|
}
|
|
|
|
.header-logo {
|
|
display: flex;
|
|
align-items: center;
|
|
height: 16px;
|
|
}
|
|
|
|
.header-logo img {
|
|
height: 100%;
|
|
width: auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.header-login-btn {
|
|
padding: 10px 24px;
|
|
border-radius: 999px;
|
|
background-color: #94FBE0;
|
|
color: #000000;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
.header-login-btn:hover {
|
|
background-color: #7fe8cc;
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 12px rgba(148, 251, 224, 0.3);
|
|
}
|
|
|
|
.header-login-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
.header-start-btn {
|
|
padding: 10px 24px;
|
|
border-radius: 999px;
|
|
background-color: #AE72F9;
|
|
color: #FFFFFF;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
letter-spacing: -0.006em;
|
|
line-height: 1.19;
|
|
}
|
|
|
|
.header-start-btn:hover {
|
|
background-color: #9B5DE5;
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 12px rgba(174, 114, 249, 0.3);
|
|
}
|
|
|
|
.header-start-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
.header-avatar {
|
|
width: 2rem;
|
|
height: 2rem;
|
|
border-radius: var(--radius-full);
|
|
overflow: hidden;
|
|
border: 1px solid var(--color-border-gray-700);
|
|
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.header-avatar {
|
|
width: 2.5rem;
|
|
height: 2.5rem;
|
|
}
|
|
}
|
|
|
|
.header-avatar img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
/* =====================================================
|
|
Content Safe Area (for Landing Pages)
|
|
===================================================== */
|
|
.content-safe-area {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
|
|
/* =====================================================
|
|
Sound Studio Styles
|
|
===================================================== */
|
|
|
|
/* Sound Studio Header */
|
|
.sound-studio-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0.5rem 2rem;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.btn-back-new {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
padding: 0.5rem 1.25rem 0.5rem 0.5rem;
|
|
background-color: #462E64;
|
|
border: 1px solid #694596;
|
|
border-radius: var(--radius-full);
|
|
color: #CFABFB;
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
width: fit-content;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.btn-back-new:hover {
|
|
background-color: #694596;
|
|
border-color: #8B5BC7;
|
|
}
|
|
|
|
/* Progress Indicator */
|
|
.progress-indicator {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
width: 280px;
|
|
}
|
|
|
|
.progress-label {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.progress-text {
|
|
font-size: 0.8125rem;
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.progress-numbers {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.progress-current {
|
|
font-size: 0.8125rem;
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
.progress-divider,
|
|
.progress-total {
|
|
font-size: 0.8125rem;
|
|
font-weight: 400;
|
|
color: #379599;
|
|
}
|
|
|
|
.progress-bar-wrapper {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 8px;
|
|
background-color: #01393B;
|
|
border-radius: var(--radius-full);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.progress-bar-track {
|
|
width: 100%;
|
|
height: 100%;
|
|
background: linear-gradient(90deg, #94FBE0 0%, #AE72F9 100%);
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
/* Sound Studio Title */
|
|
.sound-studio-title {
|
|
font-size: 2rem;
|
|
font-weight: 700;
|
|
color: #E5F1F2;
|
|
margin: 1rem auto 1.5rem auto;
|
|
padding: 0 2rem;
|
|
max-width: 1200px;
|
|
width: 100%;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Sound Studio Container */
|
|
.sound-studio-container {
|
|
background-color: #01393B;
|
|
border-radius: 40px;
|
|
padding: 2rem;
|
|
margin: 0 auto 1.5rem auto;
|
|
max-width: 1136px;
|
|
width: calc(100% - 4rem);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
flex: 1;
|
|
min-height: 0;
|
|
}
|
|
|
|
/* Sound Studio Columns */
|
|
.sound-studio-columns {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
/* Sound Column */
|
|
.sound-column {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Lyrics Column */
|
|
.lyrics-column {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Column Title */
|
|
.column-title {
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
color: var(--color-mint);
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Sound Studio Section */
|
|
.sound-studio-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
/* Input Label */
|
|
.input-label {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: #CEE5E6;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Sound Type Grid */
|
|
.sound-type-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
/* Sound Type Button */
|
|
.sound-type-btn {
|
|
padding: 1rem;
|
|
background-color: #002224;
|
|
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
border-radius: 8px;
|
|
color: var(--color-text-white);
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
text-align: center;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.sound-type-btn:hover:not(:disabled) {
|
|
background-color: rgba(0, 34, 36, 0.8);
|
|
border-color: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.sound-type-btn.active {
|
|
border-color: var(--color-mint);
|
|
}
|
|
|
|
.sound-type-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.sound-type-btn.permanently-disabled {
|
|
opacity: 0.35;
|
|
cursor: not-allowed;
|
|
background-color: rgba(255, 255, 255, 0.03);
|
|
border-color: rgba(255, 255, 255, 0.1);
|
|
color: rgba(255, 255, 255, 0.4);
|
|
}
|
|
|
|
/* Genre Grid */
|
|
.genre-grid {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.genre-row {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
/* Genre Button */
|
|
.genre-btn {
|
|
padding: 1rem;
|
|
background-color: #002224;
|
|
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
border-radius: 8px;
|
|
color: var(--color-text-white);
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
text-align: center;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.genre-btn:hover:not(:disabled) {
|
|
background-color: rgba(0, 34, 36, 0.8);
|
|
border-color: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.genre-btn.active {
|
|
border-color: var(--color-mint);
|
|
}
|
|
|
|
.genre-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.genre-btn-placeholder {
|
|
/* Empty space for grid alignment */
|
|
}
|
|
|
|
/* Language Selector */
|
|
.language-selector-wrapper {
|
|
position: relative;
|
|
}
|
|
|
|
.language-selector {
|
|
width: 100%;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0.5rem 1rem;
|
|
background-color: #002224;
|
|
border: 1px solid transparent;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
transition: border-color 0.2s, background-color 0.2s;
|
|
}
|
|
|
|
.language-selector:hover:not(:disabled) {
|
|
background-color: #003A3C;
|
|
}
|
|
|
|
.language-selector:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.language-display {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.language-flag {
|
|
font-size: 1.25rem;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.language-name {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.language-dropdown-icon {
|
|
width: 1rem;
|
|
height: 1rem;
|
|
opacity: 0.7;
|
|
transition: transform 0.2s;
|
|
}
|
|
|
|
.language-dropdown-icon.open {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
/* Language Dropdown Menu */
|
|
.language-dropdown-menu {
|
|
position: absolute;
|
|
top: calc(100% + 0.5rem);
|
|
left: 0;
|
|
right: 0;
|
|
max-height: 240px;
|
|
background-color: #002224;
|
|
border: 1px solid #046266;
|
|
border-radius: 8px;
|
|
overflow-y: auto;
|
|
z-index: 100;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
overscroll-behavior: contain;
|
|
}
|
|
|
|
.language-dropdown-menu::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.language-dropdown-menu::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
.language-dropdown-menu::-webkit-scrollbar-thumb {
|
|
background: #046266;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.language-dropdown-menu::-webkit-scrollbar-thumb:hover {
|
|
background: #379599;
|
|
}
|
|
|
|
.language-dropdown-item {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.75rem 1rem;
|
|
background-color: #002224;
|
|
border: none;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.language-dropdown-item:hover {
|
|
background-color: #003A3C;
|
|
}
|
|
|
|
.language-dropdown-item.active {
|
|
background-color: #046266;
|
|
}
|
|
|
|
.language-dropdown-item .language-flag {
|
|
font-size: 1.25rem;
|
|
}
|
|
|
|
.language-dropdown-item .language-name {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: var(--color-text-white);
|
|
}
|
|
|
|
/* Lyrics Header */
|
|
.lyrics-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
}
|
|
|
|
.lyrics-subtitle {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: #CEE5E6;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Audio Player */
|
|
.audio-player {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.5rem 1rem;
|
|
background-color: #002224;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.play-btn-new {
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: none;
|
|
border: none;
|
|
color: var(--color-text-white);
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.play-btn-new:hover:not(.disabled) {
|
|
color: var(--color-mint);
|
|
}
|
|
|
|
.play-btn-new.disabled {
|
|
opacity: 0.3;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.audio-progress-container {
|
|
flex: 1;
|
|
height: 4px;
|
|
background-color: #046266;
|
|
border-radius: var(--radius-full);
|
|
position: relative;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.audio-progress-container.disabled {
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.audio-progress-fill {
|
|
height: 100%;
|
|
background-color: var(--color-mint);
|
|
border-radius: var(--radius-full);
|
|
transition: width 0.1s ease-out;
|
|
}
|
|
|
|
.audio-time {
|
|
font-size: var(--text-sm);
|
|
font-weight: 400;
|
|
color: #046266;
|
|
min-width: 40px;
|
|
text-align: right;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Lyrics Display */
|
|
.lyrics-display {
|
|
flex: 1;
|
|
display: flex;
|
|
background-color: #002224;
|
|
border-radius: 8px;
|
|
padding: 1rem;
|
|
min-height: 200px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.lyrics-textarea {
|
|
width: 100%;
|
|
background: transparent;
|
|
border: none;
|
|
color: var(--color-text-white);
|
|
font-size: var(--text-sm);
|
|
font-family: inherit;
|
|
resize: none;
|
|
outline: none;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.lyrics-placeholder {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: var(--text-sm);
|
|
font-weight: 400;
|
|
color: #6AB0B3;
|
|
text-align: center;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Generate Sound Button */
|
|
.btn-generate-sound {
|
|
width: 100%;
|
|
padding: 0.625rem 2.5rem;
|
|
background-color: #01393B;
|
|
border: 1px solid var(--color-mint);
|
|
border-radius: var(--radius-full);
|
|
color: var(--color-mint);
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.btn-generate-sound:hover:not(.disabled) {
|
|
background-color: var(--color-mint);
|
|
color: #000000;
|
|
}
|
|
|
|
.btn-generate-sound.disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Video Generate Button */
|
|
.btn-video-generate {
|
|
padding: 0.625rem 2.5rem;
|
|
background-color: #AE72F9;
|
|
border: none;
|
|
border-radius: var(--radius-full);
|
|
color: #FFFFFF;
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all var(--transition-normal);
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
min-width: fit-content;
|
|
}
|
|
|
|
.btn-video-generate:hover:not(.disabled):not(.generating) {
|
|
background-color: #9B5DE5;
|
|
}
|
|
|
|
.btn-video-generate.disabled {
|
|
background-color: #462E64;
|
|
color: #8B5BC7;
|
|
opacity: 0.7;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.btn-video-generate.generating {
|
|
background-color: #AE72F9;
|
|
color: #FFFFFF;
|
|
padding: 0.625rem 1.5rem;
|
|
cursor: default;
|
|
}
|
|
|
|
.video-gen-text {
|
|
font-size: var(--text-sm);
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.video-gen-progress-bar {
|
|
width: 280px;
|
|
height: 8px;
|
|
background-color: #694596;
|
|
border-radius: var(--radius-full);
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
|
|
.video-gen-progress-fill {
|
|
height: 100%;
|
|
background-color: #FFFFFF;
|
|
border-radius: var(--radius-full);
|
|
transition: width 0.5s ease-out;
|
|
}
|
|
|
|
/* Error and Status Messages */
|
|
.error-message-new {
|
|
padding: 0.75rem 1rem;
|
|
background-color: rgba(239, 68, 68, 0.1);
|
|
border: 1px solid rgba(239, 68, 68, 0.3);
|
|
border-radius: var(--radius-lg);
|
|
color: #fca5a5;
|
|
font-size: var(--text-sm);
|
|
text-align: center;
|
|
}
|
|
|
|
.status-message-new {
|
|
padding: 0.75rem 1rem;
|
|
background-color: rgba(148, 251, 224, 0.1);
|
|
border: 1px solid rgba(148, 251, 224, 0.3);
|
|
border-radius: var(--radius-lg);
|
|
color: var(--color-mint);
|
|
font-size: var(--text-sm);
|
|
text-align: center;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
/* Responsive Styles for Sound Studio */
|
|
@media (max-width: 639px) {
|
|
.sound-studio-header {
|
|
padding: 0.5rem 1rem;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.progress-indicator {
|
|
width: 100%;
|
|
}
|
|
|
|
.sound-studio-title {
|
|
font-size: 1.5rem;
|
|
padding: 0 1rem;
|
|
margin: 0.75rem auto 1rem auto;
|
|
}
|
|
|
|
.sound-studio-container {
|
|
padding: 1.25rem;
|
|
width: calc(100% - 2rem);
|
|
}
|
|
|
|
.sound-type-grid {
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.sound-type-btn {
|
|
padding: 0.75rem 0.5rem;
|
|
font-size: var(--text-xs);
|
|
}
|
|
|
|
.genre-row {
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.genre-btn {
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: var(--text-xs);
|
|
}
|
|
|
|
.lyrics-display {
|
|
min-height: 150px;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 640px) and (max-width: 767px) {
|
|
.sound-studio-header {
|
|
padding: 0.5rem 1.5rem;
|
|
}
|
|
|
|
.sound-studio-title {
|
|
font-size: 1.75rem;
|
|
padding: 0 1.5rem;
|
|
margin: 0.875rem auto 1.25rem auto;
|
|
}
|
|
|
|
.sound-studio-container {
|
|
padding: 1.5rem;
|
|
width: calc(100% - 3rem);
|
|
}
|
|
|
|
.sound-studio-columns {
|
|
gap: 2rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) and (max-width: 1023px) {
|
|
.sound-studio-columns {
|
|
gap: 2rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.sound-studio-container {
|
|
padding: 2.5rem;
|
|
}
|
|
|
|
.sound-studio-columns {
|
|
flex-direction: row;
|
|
gap: 3rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.sound-column {
|
|
flex: 1;
|
|
width: auto;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.lyrics-column {
|
|
flex: 1;
|
|
width: auto;
|
|
min-height: 0;
|
|
}
|
|
|
|
.column-title {
|
|
font-size: 1.25rem;
|
|
}
|
|
|
|
.lyrics-display {
|
|
min-height: 250px;
|
|
}
|
|
}
|
|
|
|
/* Height-based responsive adjustments */
|
|
@media (max-height: 800px) {
|
|
.sound-studio-container {
|
|
gap: 1rem;
|
|
}
|
|
|
|
.sound-studio-columns {
|
|
gap: 2rem;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 700px) {
|
|
.sound-studio-title {
|
|
font-size: 1.75rem;
|
|
margin: 0.75rem 2rem 1rem 2rem;
|
|
}
|
|
|
|
.sound-studio-container {
|
|
padding: 1.5rem;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.sound-studio-columns {
|
|
gap: 1.5rem;
|
|
}
|
|
|
|
.sound-studio-section {
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.lyrics-display {
|
|
min-height: 180px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 600px) {
|
|
.sound-studio-header {
|
|
padding: 0.375rem 2rem;
|
|
}
|
|
|
|
.sound-studio-title {
|
|
font-size: 1.5rem;
|
|
margin: 0.5rem 2rem 0.75rem 2rem;
|
|
}
|
|
|
|
.sound-studio-container {
|
|
padding: 1.25rem;
|
|
gap: 0.875rem;
|
|
}
|
|
|
|
.sound-studio-columns {
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
.sound-type-btn,
|
|
.genre-btn {
|
|
padding: 0.625rem 0.75rem;
|
|
}
|
|
|
|
.lyrics-display {
|
|
min-height: 150px;
|
|
}
|
|
}
|
|
|
|
/* ====================================
|
|
Asset Management (Brand Asset) Styles
|
|
==================================== */
|
|
|
|
/* Asset Header */
|
|
.asset-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 0.5rem 2rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* Asset Title */
|
|
.asset-title {
|
|
font-size: 2rem;
|
|
font-weight: 700;
|
|
color: #E5F1F2;
|
|
margin: 1rem auto 1.5rem auto;
|
|
padding: 0 2rem;
|
|
max-width: 1200px;
|
|
width: 100%;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
/* Asset Container */
|
|
.asset-container {
|
|
background-color: #01393B;
|
|
border-radius: 40px;
|
|
padding: 2rem;
|
|
margin: 0 auto 1.5rem auto;
|
|
max-width: 1136px;
|
|
width: calc(100% - 4rem);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.5rem;
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.asset-container {
|
|
flex-direction: row;
|
|
overflow: hidden;
|
|
}
|
|
}
|
|
|
|
/* Asset Columns */
|
|
.asset-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
.asset-column-left {
|
|
width: 100%;
|
|
min-width: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.asset-column-right {
|
|
width: 100%;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.asset-column-left {
|
|
flex: 1;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.asset-column-right {
|
|
width: 280px;
|
|
}
|
|
}
|
|
|
|
/* Asset Section Title */
|
|
.asset-section-title {
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
color: #94FBE0;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
margin: 0;
|
|
}
|
|
|
|
/* Asset Image List */
|
|
.asset-image-list {
|
|
min-height: 120px;
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
overscroll-behavior: contain;
|
|
background-color: #002224;
|
|
border-radius: 8px;
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.asset-image-list {
|
|
flex: 1;
|
|
min-height: 0;
|
|
max-height: none;
|
|
}
|
|
}
|
|
|
|
.asset-image-list::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.asset-image-list::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
.asset-image-list::-webkit-scrollbar-thumb {
|
|
background: #379599;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.asset-image-list::-webkit-scrollbar-thumb:hover {
|
|
background: #4AABAF;
|
|
}
|
|
|
|
/* Asset Image Grid */
|
|
.asset-image-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.asset-image-item {
|
|
position: relative;
|
|
aspect-ratio: 1;
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
background-color: #000;
|
|
}
|
|
|
|
.asset-image-item img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.asset-image-badge {
|
|
position: absolute;
|
|
top: 8px;
|
|
left: 8px;
|
|
background-color: #EFE3FE;
|
|
color: #AE72F9;
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.asset-image-remove {
|
|
position: absolute;
|
|
top: 8px;
|
|
right: 8px;
|
|
width: 30px;
|
|
height: 30px;
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
border: none;
|
|
border-radius: 999px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
color: #FFFFFF;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.asset-image-remove:hover {
|
|
background-color: rgba(0, 0, 0, 0.8);
|
|
}
|
|
|
|
/* Asset Upload Section */
|
|
.asset-upload-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
flex: 1;
|
|
}
|
|
|
|
.asset-upload-zone {
|
|
flex: 1;
|
|
border: 1px dashed #379599;
|
|
border-radius: 8px;
|
|
background-color: #002224;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: border-color 0.2s, background-color 0.2s;
|
|
min-height: 150px;
|
|
}
|
|
|
|
.asset-upload-zone:hover {
|
|
border-color: #4AABAF;
|
|
background-color: #003A3C;
|
|
}
|
|
|
|
.asset-upload-text {
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
color: #9BCACC;
|
|
text-align: center;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
margin: 0;
|
|
}
|
|
|
|
/* Asset Ratio Section */
|
|
.asset-ratio-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
.asset-ratio-buttons {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.asset-ratio-button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
padding: 1rem;
|
|
background-color: #002224;
|
|
border: 1px solid transparent;
|
|
border-radius: 8px;
|
|
cursor: pointer;
|
|
transition: border-color 0.2s, background-color 0.2s;
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.asset-ratio-button:hover {
|
|
background-color: #003A3C;
|
|
}
|
|
|
|
.asset-ratio-button.active {
|
|
border-color: #94FBE0;
|
|
background-color: #002224;
|
|
}
|
|
|
|
.asset-ratio-icon {
|
|
width: 32px;
|
|
height: 32px;
|
|
background-color: #002224;
|
|
border-radius: 2px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.asset-ratio-icon-vertical .asset-ratio-box {
|
|
width: 18px;
|
|
height: 32px;
|
|
background-color: #046266;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.asset-ratio-icon-horizontal .asset-ratio-box {
|
|
width: 32px;
|
|
height: 18px;
|
|
background-color: #046266;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
/* Asset Bottom Button */
|
|
.asset-bottom {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0 2rem 1.5rem 2rem;
|
|
}
|
|
|
|
.asset-next-button {
|
|
background-color: #AE72F9;
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
padding: 10px 40px;
|
|
border: none;
|
|
border-radius: 999px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
line-height: 1.19;
|
|
letter-spacing: -0.006em;
|
|
}
|
|
|
|
.asset-next-button:hover:not(:disabled) {
|
|
background-color: #9D5FE8;
|
|
}
|
|
|
|
.asset-next-button:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Responsive Styles */
|
|
@media (max-width: 639px) {
|
|
.asset-header {
|
|
padding: 0.5rem 1rem;
|
|
}
|
|
|
|
.asset-title {
|
|
font-size: 1.5rem;
|
|
padding: 0 1rem;
|
|
margin: 0.75rem auto 1rem auto;
|
|
}
|
|
|
|
.asset-container {
|
|
padding: 1.25rem;
|
|
width: calc(100% - 2rem);
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
.asset-image-grid {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
|
|
.asset-bottom {
|
|
padding: 0 1rem 1rem 1rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 640px) and (max-width: 767px) {
|
|
.asset-header {
|
|
padding: 0.5rem 1.5rem;
|
|
}
|
|
|
|
.asset-title {
|
|
font-size: 1.75rem;
|
|
padding: 0 1.5rem;
|
|
margin: 0.875rem auto 1.25rem auto;
|
|
}
|
|
|
|
.asset-container {
|
|
padding: 1.5rem;
|
|
width: calc(100% - 3rem);
|
|
}
|
|
|
|
.asset-bottom {
|
|
padding: 0 1.5rem 1.25rem 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) and (max-width: 1023px) {
|
|
.asset-container {
|
|
padding: 1.75rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.asset-container {
|
|
padding: 2.5rem;
|
|
}
|
|
}
|
|
|
|
/* Height-based responsive adjustments */
|
|
@media (max-height: 800px) {
|
|
.asset-container {
|
|
padding: 1.75rem;
|
|
}
|
|
|
|
.asset-upload-zone {
|
|
min-height: 120px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 700px) {
|
|
.asset-container {
|
|
padding: 1.5rem;
|
|
}
|
|
|
|
.asset-title {
|
|
font-size: 1.75rem;
|
|
margin: 0.75rem auto 1rem auto;
|
|
}
|
|
|
|
.asset-upload-zone {
|
|
min-height: 100px;
|
|
}
|
|
}
|
|
|
|
@media (max-height: 600px) {
|
|
.asset-container {
|
|
padding: 1.25rem;
|
|
gap: 0.875rem;
|
|
}
|
|
|
|
.asset-column {
|
|
gap: 1rem;
|
|
}
|
|
|
|
.asset-upload-section,
|
|
.asset-ratio-section {
|
|
gap: 1rem;
|
|
}
|
|
|
|
.asset-upload-zone {
|
|
min-height: 80px;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
ADO2 Contents Page Styles
|
|
===================================================== */
|
|
|
|
.ado2-contents-page {
|
|
padding: 32px;
|
|
min-height: 100%;
|
|
background-color: var(--color-bg-darker);
|
|
}
|
|
|
|
.ado2-contents-header {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 16px;
|
|
margin-bottom: 32px;
|
|
}
|
|
|
|
.ado2-contents-title {
|
|
font-size: 32px;
|
|
font-weight: 700;
|
|
color: var(--color-text-white);
|
|
letter-spacing: -0.6%;
|
|
}
|
|
|
|
.ado2-contents-count {
|
|
font-size: 17px;
|
|
font-weight: 500;
|
|
color: #9BCACC;
|
|
}
|
|
|
|
.ado2-contents-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
gap: 16px;
|
|
}
|
|
|
|
.ado2-content-card {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-radius: 20px;
|
|
overflow: hidden;
|
|
background-color: #034A4D;
|
|
}
|
|
|
|
.content-card-thumbnail {
|
|
width: 100%;
|
|
aspect-ratio: 9 / 16;
|
|
background-color: #01393B;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.content-video-preview {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.content-no-video {
|
|
color: #6AB0B3;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.content-card-info {
|
|
padding: 16px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 16px;
|
|
}
|
|
|
|
.content-card-text {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.content-card-title {
|
|
font-size: 17px;
|
|
font-weight: 700;
|
|
color: var(--color-text-white);
|
|
letter-spacing: -0.6%;
|
|
margin: 0;
|
|
}
|
|
|
|
.content-card-date {
|
|
font-size: 12px;
|
|
font-weight: 400;
|
|
color: #6AB0B3;
|
|
letter-spacing: -0.6%;
|
|
margin: 0;
|
|
}
|
|
|
|
.content-card-actions {
|
|
display: flex;
|
|
gap: 6px;
|
|
}
|
|
|
|
.content-download-btn {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
padding: 10px 10px 10px 8px;
|
|
height: 34px;
|
|
background-color: #462E64;
|
|
border: none;
|
|
border-radius: 8px;
|
|
color: #F7F1FE;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.content-download-btn:hover:not(:disabled) {
|
|
background-color: #563d7a;
|
|
}
|
|
|
|
.content-download-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.content-download-btn svg {
|
|
stroke: #F7F1FE;
|
|
}
|
|
|
|
.content-delete-btn {
|
|
width: 34px;
|
|
height: 34px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 8px;
|
|
background-color: #01393B;
|
|
border: none;
|
|
border-radius: 8px;
|
|
color: #6AB0B3;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.content-delete-btn:hover {
|
|
background-color: #024648;
|
|
}
|
|
|
|
.content-delete-btn svg {
|
|
stroke: #6AB0B3;
|
|
}
|
|
|
|
/* Loading, Error, Empty States */
|
|
.ado2-contents-loading,
|
|
.ado2-contents-error,
|
|
.ado2-contents-empty {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 400px;
|
|
gap: 16px;
|
|
color: #9BCACC;
|
|
}
|
|
|
|
.ado2-contents-loading .loading-spinner {
|
|
width: 40px;
|
|
height: 40px;
|
|
border: 3px solid #01393B;
|
|
border-top-color: #6AB0B3;
|
|
border-radius: 50%;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
@keyframes spin {
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.retry-btn {
|
|
padding: 10px 20px;
|
|
background-color: #034A4D;
|
|
border: 1px solid #6AB0B3;
|
|
border-radius: 8px;
|
|
color: #6AB0B3;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.retry-btn:hover {
|
|
background-color: #024648;
|
|
}
|
|
|
|
/* Pagination */
|
|
.ado2-contents-pagination {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 16px;
|
|
margin-top: 32px;
|
|
padding-bottom: 32px;
|
|
}
|
|
|
|
.pagination-btn {
|
|
padding: 10px 20px;
|
|
background-color: #034A4D;
|
|
border: 1px solid #6AB0B3;
|
|
border-radius: 8px;
|
|
color: #6AB0B3;
|
|
font-size: 14px;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.pagination-btn:hover:not(:disabled) {
|
|
background-color: #024648;
|
|
}
|
|
|
|
.pagination-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.pagination-info {
|
|
color: #9BCACC;
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* Responsive */
|
|
@media (max-width: 768px) {
|
|
.ado2-contents-page {
|
|
padding: 16px;
|
|
}
|
|
|
|
.ado2-contents-header {
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.ado2-contents-title {
|
|
font-size: 24px;
|
|
}
|
|
|
|
.ado2-contents-grid {
|
|
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
gap: 12px;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
Delete Confirmation Modal
|
|
===================================================== */
|
|
.delete-modal-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 1000;
|
|
}
|
|
|
|
.delete-modal {
|
|
background: linear-gradient(180deg, #1A3A3E 0%, #0D2426 100%);
|
|
border: 1px solid rgba(148, 251, 224, 0.2);
|
|
border-radius: 16px;
|
|
padding: 32px 40px;
|
|
min-width: 360px;
|
|
max-width: 90vw;
|
|
text-align: center;
|
|
}
|
|
|
|
.delete-modal-title {
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
margin: 0 0 12px 0;
|
|
}
|
|
|
|
.delete-modal-description {
|
|
font-size: 14px;
|
|
color: rgba(255, 255, 255, 0.6);
|
|
margin: 0 0 28px 0;
|
|
}
|
|
|
|
.delete-modal-actions {
|
|
display: flex;
|
|
gap: 12px;
|
|
justify-content: center;
|
|
}
|
|
|
|
.delete-modal-btn {
|
|
padding: 12px 32px;
|
|
border-radius: 8px;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
border: none;
|
|
}
|
|
|
|
.delete-modal-btn.cancel {
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
color: #FFFFFF;
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
.delete-modal-btn.cancel:hover {
|
|
background-color: rgba(255, 255, 255, 0.15);
|
|
}
|
|
|
|
.delete-modal-btn.confirm {
|
|
background-color: #EF4444;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.delete-modal-btn.confirm:hover {
|
|
background-color: #DC2626;
|
|
}
|
|
|
|
.delete-modal-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* ============================================
|
|
Social Connect Pages
|
|
============================================ */
|
|
|
|
.social-connect-page {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #002224;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.social-connect-card {
|
|
background-color: #0a1a1c;
|
|
border-radius: 16px;
|
|
padding: 3rem;
|
|
max-width: 400px;
|
|
width: 100%;
|
|
text-align: center;
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.social-connect-card.success {
|
|
border-color: rgba(148, 251, 224, 0.3);
|
|
}
|
|
|
|
.social-connect-card.error {
|
|
border-color: rgba(248, 113, 113, 0.3);
|
|
}
|
|
|
|
.social-connect-icon {
|
|
width: 80px;
|
|
height: 80px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: 0 auto 1.5rem;
|
|
}
|
|
|
|
.social-connect-icon.success {
|
|
background-color: rgba(148, 251, 224, 0.15);
|
|
color: #94FBE0;
|
|
}
|
|
|
|
.social-connect-icon.error {
|
|
background-color: rgba(248, 113, 113, 0.15);
|
|
color: #f87171;
|
|
}
|
|
|
|
.social-connect-profile-image {
|
|
width: 80px;
|
|
height: 80px;
|
|
border-radius: 50%;
|
|
object-fit: cover;
|
|
margin: 0 auto 1.5rem;
|
|
border: 3px solid #94FBE0;
|
|
}
|
|
|
|
.social-connect-account-info {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.social-connect-channel-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
padding: 0.375rem 0.875rem;
|
|
background-color: rgba(148, 251, 224, 0.15);
|
|
color: #94FBE0;
|
|
border-radius: 9999px;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.social-connect-title {
|
|
font-size: 1.5rem;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
.social-connect-message {
|
|
font-size: 1rem;
|
|
color: rgba(255, 255, 255, 0.7);
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.social-connect-detail {
|
|
font-size: 0.875rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.social-connect-countdown {
|
|
font-size: 0.875rem;
|
|
color: #94FBE0;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.social-connect-actions {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.social-connect-button {
|
|
width: 100%;
|
|
padding: 0.875rem 1.5rem;
|
|
border-radius: 9999px;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
border: none;
|
|
background-color: #94FBE0;
|
|
color: #002224;
|
|
}
|
|
|
|
.social-connect-button:hover {
|
|
background-color: #7fe6cb;
|
|
}
|
|
|
|
.social-connect-button.secondary {
|
|
background-color: transparent;
|
|
color: #FFFFFF;
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
.social-connect-button.secondary:hover {
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
/* ============================================
|
|
My Info Page (내 정보)
|
|
============================================ */
|
|
|
|
.myinfo-page {
|
|
flex: 1;
|
|
padding: 2rem;
|
|
max-width: 900px;
|
|
background-color: #002224;
|
|
}
|
|
|
|
.myinfo-title {
|
|
font-size: 1.75rem;
|
|
font-weight: 700;
|
|
color: #FFFFFF;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
/* 탭 네비게이션 */
|
|
.myinfo-tabs {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.myinfo-tab {
|
|
padding: 0.75rem 1rem;
|
|
background: none;
|
|
border: none;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
font-size: 0.9rem;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
position: relative;
|
|
transition: color 0.2s ease;
|
|
}
|
|
|
|
.myinfo-tab:hover {
|
|
color: rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.myinfo-tab.active {
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.myinfo-tab.active::after {
|
|
content: '';
|
|
position: absolute;
|
|
bottom: -1px;
|
|
left: 0;
|
|
right: 0;
|
|
height: 2px;
|
|
background: linear-gradient(90deg, #a6ffea, #a682ff);
|
|
}
|
|
|
|
/* 탭 컨텐츠 */
|
|
.myinfo-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2rem;
|
|
}
|
|
|
|
.myinfo-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.myinfo-section-title {
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
color: rgba(255, 255, 255, 0.6);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.myinfo-placeholder {
|
|
color: rgba(255, 255, 255, 0.5);
|
|
font-size: 0.9rem;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
background: rgba(255, 255, 255, 0.03);
|
|
border-radius: 12px;
|
|
border: 1px solid rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
/* 내 비즈니스 카드 */
|
|
.myinfo-business-card {
|
|
background: rgba(255, 255, 255, 0.03);
|
|
border: 1px solid rgba(255, 255, 255, 0.06);
|
|
border-radius: 12px;
|
|
padding: 1.5rem;
|
|
}
|
|
|
|
.myinfo-business-empty-title {
|
|
font-size: 1.1rem;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.myinfo-business-empty-desc {
|
|
font-size: 0.85rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
margin-bottom: 1.25rem;
|
|
}
|
|
|
|
.myinfo-business-input-row {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
align-items: center;
|
|
}
|
|
|
|
.myinfo-business-input {
|
|
flex: 1;
|
|
padding: 0.75rem 1rem;
|
|
background: rgba(0, 0, 0, 0.3);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
border-radius: 8px;
|
|
color: #FFFFFF;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.myinfo-business-input::placeholder {
|
|
color: rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.myinfo-business-input:focus {
|
|
outline: none;
|
|
border-color: #a6ffea;
|
|
}
|
|
|
|
.myinfo-business-submit {
|
|
padding: 0.75rem 1.25rem;
|
|
background: linear-gradient(135deg, #a6ffea 0%, #7ee8cf 100%);
|
|
border: none;
|
|
border-radius: 8px;
|
|
color: #002224;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
white-space: nowrap;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.myinfo-business-submit:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 12px rgba(166, 255, 234, 0.3);
|
|
}
|
|
|
|
/* 소셜 채널 버튼들 (가로 배치) */
|
|
.myinfo-social-buttons {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.myinfo-social-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.625rem 1rem;
|
|
background: rgba(255, 255, 255, 0.05);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
border-radius: 8px;
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.myinfo-social-btn:hover:not(:disabled) {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
border-color: rgba(255, 255, 255, 0.25);
|
|
}
|
|
|
|
.myinfo-social-btn.connected {
|
|
border-color: rgba(166, 255, 234, 0.4);
|
|
background: rgba(166, 255, 234, 0.08);
|
|
}
|
|
|
|
.myinfo-social-btn:disabled,
|
|
.myinfo-social-btn.disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.myinfo-social-btn-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
border-radius: 4px;
|
|
object-fit: cover;
|
|
}
|
|
|
|
/* 연결된 계정 목록 */
|
|
.myinfo-connected-accounts {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
margin-top: 1.25rem;
|
|
}
|
|
|
|
.myinfo-connected-card {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 1rem 1.25rem;
|
|
background: rgba(166, 255, 234, 0.03);
|
|
border: 1px solid rgba(166, 255, 234, 0.15);
|
|
border-radius: 12px;
|
|
}
|
|
|
|
.myinfo-connected-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.875rem;
|
|
}
|
|
|
|
.myinfo-connected-avatar {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.myinfo-connected-icon {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 10px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.myinfo-connected-icon img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.myinfo-connected-text {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.125rem;
|
|
}
|
|
|
|
.myinfo-connected-channel {
|
|
font-size: 0.9rem;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.myinfo-connected-platform {
|
|
font-size: 0.7rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
}
|
|
|
|
.myinfo-connected-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.myinfo-connected-badge {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.375rem;
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
color: #a6ffea;
|
|
}
|
|
|
|
.myinfo-connected-disconnect {
|
|
padding: 0.375rem 0.75rem;
|
|
background: transparent;
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
border-radius: 6px;
|
|
color: rgba(255, 255, 255, 0.6);
|
|
font-size: 0.75rem;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.myinfo-connected-disconnect:hover {
|
|
background: rgba(248, 113, 113, 0.1);
|
|
border-color: rgba(248, 113, 113, 0.3);
|
|
color: #f87171;
|
|
}
|
|
|
|
.myinfo-loading {
|
|
font-size: 0.85rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
text-align: center;
|
|
padding: 0.5rem;
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
/* 모바일 반응형 */
|
|
@media (max-width: 768px) {
|
|
.myinfo-page {
|
|
padding: 1.25rem;
|
|
}
|
|
|
|
.myinfo-title {
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.myinfo-tabs {
|
|
overflow-x: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
scrollbar-width: none;
|
|
}
|
|
|
|
.myinfo-tabs::-webkit-scrollbar {
|
|
display: none;
|
|
}
|
|
|
|
.myinfo-tab {
|
|
white-space: nowrap;
|
|
padding: 0.625rem 0.75rem;
|
|
font-size: 0.8rem;
|
|
}
|
|
|
|
.myinfo-business-input-row {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.myinfo-business-submit {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
/* =====================================================
|
|
Content Upload Button (ADO2 콘텐츠 페이지)
|
|
===================================================== */
|
|
|
|
.content-upload-btn {
|
|
width: 34px;
|
|
height: 34px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 8px;
|
|
background-color: #01393B;
|
|
border: none;
|
|
border-radius: 8px;
|
|
color: #6AB0B3;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.content-upload-btn:hover:not(:disabled) {
|
|
background-color: #024648;
|
|
}
|
|
|
|
.content-upload-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.content-upload-btn svg {
|
|
stroke: #6AB0B3;
|
|
}
|
|
|
|
/* =====================================================
|
|
Social Posting Modal
|
|
===================================================== */
|
|
|
|
.social-posting-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 1000;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.social-posting-modal {
|
|
width: 100%;
|
|
max-width: 900px;
|
|
max-height: 90vh;
|
|
background-color: #002224;
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(166, 255, 234, 0.1);
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.social-posting-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 1.25rem 1.5rem;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
|
}
|
|
|
|
.social-posting-title {
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
margin: 0;
|
|
}
|
|
|
|
.social-posting-close {
|
|
width: 32px;
|
|
height: 32px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: transparent;
|
|
border: none;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
cursor: pointer;
|
|
border-radius: 6px;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.social-posting-close:hover {
|
|
color: #FFFFFF;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.social-posting-content {
|
|
display: flex;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.social-posting-content {
|
|
flex-direction: column;
|
|
}
|
|
}
|
|
|
|
/* Video Preview Section */
|
|
.social-posting-preview {
|
|
width: 45%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 1.5rem;
|
|
background-color: #001a1c;
|
|
border-right: 1px solid rgba(255, 255, 255, 0.08);
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.social-posting-preview {
|
|
width: 100%;
|
|
max-height: 40vh;
|
|
border-right: none;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
|
}
|
|
}
|
|
|
|
.social-posting-video-container {
|
|
width: 100%;
|
|
max-width: 280px;
|
|
aspect-ratio: 9/16;
|
|
background-color: #000;
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.social-posting-video {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
/* Form Section */
|
|
.social-posting-form {
|
|
flex: 1;
|
|
padding: 1.5rem;
|
|
overflow-y: auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
.social-posting-video-info {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.social-posting-label-badge {
|
|
padding: 0.375rem 0.75rem;
|
|
background: rgba(166, 130, 255, 0.15);
|
|
border: 1px solid rgba(166, 130, 255, 0.3);
|
|
border-radius: 6px;
|
|
font-size: 0.75rem;
|
|
font-weight: 500;
|
|
color: #a682ff;
|
|
}
|
|
|
|
.social-posting-add-btn {
|
|
width: 26px;
|
|
height: 26px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: transparent;
|
|
border: 1px dashed rgba(255, 255, 255, 0.2);
|
|
border-radius: 6px;
|
|
color: rgba(255, 255, 255, 0.4);
|
|
font-size: 1rem;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.social-posting-video-meta {
|
|
padding: 0.75rem 1rem;
|
|
background: rgba(255, 255, 255, 0.03);
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.social-posting-video-title {
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
color: #FFFFFF;
|
|
margin: 0 0 0.25rem 0;
|
|
}
|
|
|
|
.social-posting-video-specs {
|
|
font-size: 0.75rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
margin: 0;
|
|
}
|
|
|
|
.social-posting-field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
position: relative;
|
|
}
|
|
|
|
.social-posting-label {
|
|
font-size: 0.8rem;
|
|
font-weight: 500;
|
|
color: rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.social-posting-label .required {
|
|
color: #a6ffea;
|
|
}
|
|
|
|
.social-posting-input,
|
|
.social-posting-select,
|
|
.social-posting-textarea {
|
|
width: 100%;
|
|
padding: 0.75rem 1rem;
|
|
background-color: rgba(255, 255, 255, 0.05);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
border-radius: 8px;
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-family: 'Pretendard', sans-serif;
|
|
transition: border-color 0.2s;
|
|
}
|
|
|
|
.social-posting-input::placeholder,
|
|
.social-posting-textarea::placeholder {
|
|
color: rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.social-posting-input:focus,
|
|
.social-posting-select:focus,
|
|
.social-posting-textarea:focus {
|
|
outline: none;
|
|
border-color: rgba(166, 255, 234, 0.4);
|
|
}
|
|
|
|
.social-posting-select {
|
|
cursor: pointer;
|
|
appearance: none;
|
|
background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
background-repeat: no-repeat;
|
|
background-position: right 1rem center;
|
|
padding-right: 2.5rem;
|
|
}
|
|
|
|
.social-posting-select option {
|
|
background-color: #002224;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.social-posting-textarea {
|
|
resize: vertical;
|
|
min-height: 80px;
|
|
}
|
|
|
|
.social-posting-char-count {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
font-size: 0.7rem;
|
|
color: rgba(255, 255, 255, 0.4);
|
|
}
|
|
|
|
.social-posting-loading,
|
|
.social-posting-no-accounts {
|
|
padding: 1rem;
|
|
text-align: center;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
.social-posting-no-accounts-hint {
|
|
font-size: 0.75rem;
|
|
color: rgba(255, 255, 255, 0.4);
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
/* Radio Group */
|
|
.social-posting-radio-group {
|
|
display: flex;
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
.social-posting-radio {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.social-posting-radio input[type="radio"] {
|
|
width: 16px;
|
|
height: 16px;
|
|
accent-color: #a6ffea;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.social-posting-radio .radio-label {
|
|
font-size: 0.85rem;
|
|
color: rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.social-posting-radio .radio-label.disabled {
|
|
color: rgba(255, 255, 255, 0.4);
|
|
}
|
|
|
|
/* Footer */
|
|
.social-posting-footer {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 1rem 1.5rem;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
|
background: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.social-posting-footer-note {
|
|
font-size: 0.75rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
margin: 0;
|
|
}
|
|
|
|
.social-posting-link {
|
|
color: #a6ffea;
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.social-posting-actions {
|
|
display: flex;
|
|
gap: 0.75rem;
|
|
}
|
|
|
|
.social-posting-btn {
|
|
padding: 0.625rem 1.25rem;
|
|
border-radius: 8px;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.social-posting-btn.cancel {
|
|
background: transparent;
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
.social-posting-btn.cancel:hover:not(:disabled) {
|
|
background: rgba(255, 255, 255, 0.05);
|
|
border-color: rgba(255, 255, 255, 0.25);
|
|
}
|
|
|
|
.social-posting-btn.submit {
|
|
background: linear-gradient(135deg, #a682ff 0%, #8b5cf6 100%);
|
|
border: none;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.social-posting-btn.submit:hover:not(:disabled) {
|
|
background: linear-gradient(135deg, #9570f0 0%, #7c4fe0 100%);
|
|
}
|
|
|
|
.social-posting-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Mobile Adjustments */
|
|
@media (max-width: 768px) {
|
|
.social-posting-modal {
|
|
max-height: 95vh;
|
|
}
|
|
|
|
.social-posting-header {
|
|
padding: 1rem;
|
|
}
|
|
|
|
.social-posting-form {
|
|
padding: 1rem;
|
|
}
|
|
|
|
.social-posting-footer {
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.social-posting-footer-note {
|
|
text-align: center;
|
|
}
|
|
|
|
.social-posting-actions {
|
|
width: 100%;
|
|
}
|
|
|
|
.social-posting-btn {
|
|
flex: 1;
|
|
}
|
|
|
|
.social-posting-radio-group {
|
|
flex-direction: column;
|
|
gap: 0.75rem;
|
|
}
|
|
}
|
|
|
|
/* Custom Scrollbar for Social Posting Modal */
|
|
.social-posting-modal::-webkit-scrollbar,
|
|
.social-posting-content::-webkit-scrollbar,
|
|
.social-posting-form::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.social-posting-modal::-webkit-scrollbar-track,
|
|
.social-posting-content::-webkit-scrollbar-track,
|
|
.social-posting-form::-webkit-scrollbar-track {
|
|
background: #001a1c;
|
|
}
|
|
|
|
.social-posting-modal::-webkit-scrollbar-thumb,
|
|
.social-posting-content::-webkit-scrollbar-thumb,
|
|
.social-posting-form::-webkit-scrollbar-thumb {
|
|
background: #003d40;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.social-posting-modal::-webkit-scrollbar-thumb:hover,
|
|
.social-posting-content::-webkit-scrollbar-thumb:hover,
|
|
.social-posting-form::-webkit-scrollbar-thumb:hover {
|
|
background: #004d50;
|
|
}
|
|
|
|
/* Firefox scrollbar */
|
|
.social-posting-modal,
|
|
.social-posting-content,
|
|
.social-posting-form {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: #003d40 #001a1c;
|
|
}
|
|
|
|
/* Custom Channel Dropdown */
|
|
.social-posting-channel-dropdown {
|
|
position: relative;
|
|
}
|
|
|
|
.social-posting-channel-trigger {
|
|
width: 100%;
|
|
padding: 0.75rem 1rem;
|
|
background-color: rgba(255, 255, 255, 0.05);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
border-radius: 8px;
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-family: 'Pretendard', sans-serif;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
transition: border-color 0.2s;
|
|
}
|
|
|
|
.social-posting-channel-trigger:hover {
|
|
border-color: rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
.social-posting-channel-trigger.open {
|
|
border-color: rgba(166, 255, 234, 0.4);
|
|
}
|
|
|
|
.social-posting-channel-selected {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.625rem;
|
|
}
|
|
|
|
.social-posting-channel-icon {
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.social-posting-channel-arrow {
|
|
width: 12px;
|
|
height: 12px;
|
|
transition: transform 0.2s;
|
|
}
|
|
|
|
.social-posting-channel-trigger.open .social-posting-channel-arrow {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.social-posting-channel-menu {
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 0;
|
|
right: 0;
|
|
margin-top: 4px;
|
|
background-color: #003538;
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
z-index: 10;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.social-posting-channel-option {
|
|
width: 100%;
|
|
padding: 0.75rem 1rem;
|
|
background: transparent;
|
|
border: none;
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-family: 'Pretendard', sans-serif;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.625rem;
|
|
transition: background-color 0.15s;
|
|
}
|
|
|
|
.social-posting-channel-option:hover {
|
|
background-color: rgba(166, 255, 234, 0.1);
|
|
}
|
|
|
|
.social-posting-channel-option.selected {
|
|
background-color: rgba(166, 255, 234, 0.15);
|
|
}
|
|
|
|
.social-posting-channel-option-icon {
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 4px;
|
|
object-fit: cover;
|
|
}
|
|
|
|
|
|
/* ============================================
|
|
Upload Progress Modal Styles
|
|
============================================ */
|
|
|
|
.upload-progress-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.8);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 1100;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.upload-progress-modal {
|
|
width: 100%;
|
|
max-width: 420px;
|
|
background: linear-gradient(180deg, #003538 0%, #002224 100%);
|
|
border-radius: 16px;
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.upload-progress-header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 1.25rem 1.5rem;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.upload-progress-title {
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
margin: 0;
|
|
}
|
|
|
|
.upload-progress-close {
|
|
background: transparent;
|
|
border: none;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
cursor: pointer;
|
|
padding: 0.25rem;
|
|
display: flex;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
.upload-progress-close:hover {
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
.upload-progress-content {
|
|
padding: 2rem 1.5rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 1.25rem;
|
|
}
|
|
|
|
/* Spinner */
|
|
.upload-progress-spinner {
|
|
width: 64px;
|
|
height: 64px;
|
|
}
|
|
|
|
.upload-spinner-svg {
|
|
width: 100%;
|
|
height: 100%;
|
|
animation: upload-spinner-rotate 1.5s linear infinite;
|
|
}
|
|
|
|
.upload-spinner-svg circle {
|
|
stroke: #a6ffea;
|
|
stroke-dasharray: 90, 150;
|
|
stroke-dashoffset: 0;
|
|
stroke-linecap: round;
|
|
animation: upload-spinner-dash 1.5s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes upload-spinner-rotate {
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes upload-spinner-dash {
|
|
0% {
|
|
stroke-dasharray: 1, 150;
|
|
stroke-dashoffset: 0;
|
|
}
|
|
50% {
|
|
stroke-dasharray: 90, 150;
|
|
stroke-dashoffset: -35;
|
|
}
|
|
100% {
|
|
stroke-dasharray: 90, 150;
|
|
stroke-dashoffset: -124;
|
|
}
|
|
}
|
|
|
|
/* Status Icons */
|
|
.upload-progress-icon {
|
|
width: 64px;
|
|
height: 64px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.upload-progress-icon.success {
|
|
background: rgba(166, 255, 234, 0.15);
|
|
color: #a6ffea;
|
|
}
|
|
|
|
.upload-progress-icon.error {
|
|
background: rgba(248, 113, 113, 0.15);
|
|
color: #f87171;
|
|
}
|
|
|
|
/* Status Text */
|
|
.upload-progress-status {
|
|
font-size: 1.25rem;
|
|
font-weight: 600;
|
|
color: #FFFFFF;
|
|
margin: 0;
|
|
}
|
|
|
|
.upload-progress-status.completed {
|
|
color: #a6ffea;
|
|
}
|
|
|
|
.upload-progress-status.failed {
|
|
color: #f87171;
|
|
}
|
|
|
|
/* Progress Bar */
|
|
.upload-progress-bar-container {
|
|
width: 100%;
|
|
max-width: 280px;
|
|
position: relative;
|
|
}
|
|
|
|
.upload-progress-bar-container::before {
|
|
content: '';
|
|
display: block;
|
|
width: 100%;
|
|
height: 8px;
|
|
background: rgba(255, 255, 255, 0.1);
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.upload-progress-bar-fill {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 8px;
|
|
background: linear-gradient(90deg, #a6ffea 0%, #4fd1c5 100%);
|
|
border-radius: 4px;
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.upload-progress-percent {
|
|
display: block;
|
|
text-align: center;
|
|
margin-top: 0.5rem;
|
|
font-size: 0.875rem;
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
/* Info Section */
|
|
.upload-progress-info {
|
|
width: 100%;
|
|
background: rgba(255, 255, 255, 0.05);
|
|
border-radius: 8px;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.upload-progress-info-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.upload-progress-info-row + .upload-progress-info-row {
|
|
margin-top: 0.75rem;
|
|
padding-top: 0.75rem;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
.upload-progress-label {
|
|
font-size: 0.8125rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.upload-progress-value {
|
|
font-size: 0.875rem;
|
|
color: #FFFFFF;
|
|
text-align: right;
|
|
word-break: break-word;
|
|
}
|
|
|
|
/* Error Message */
|
|
.upload-progress-error {
|
|
width: 100%;
|
|
background: rgba(248, 113, 113, 0.1);
|
|
border: 1px solid rgba(248, 113, 113, 0.3);
|
|
border-radius: 8px;
|
|
padding: 0.875rem 1rem;
|
|
}
|
|
|
|
.upload-progress-error p {
|
|
margin: 0;
|
|
font-size: 0.875rem;
|
|
color: #f87171;
|
|
text-align: center;
|
|
}
|
|
|
|
/* YouTube Link */
|
|
.upload-progress-youtube-link {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
padding: 0.75rem 1.5rem;
|
|
background: #FF0000;
|
|
color: #FFFFFF;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
text-decoration: none;
|
|
border-radius: 8px;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.upload-progress-youtube-link:hover {
|
|
background: #CC0000;
|
|
}
|
|
|
|
.upload-youtube-icon {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
|
|
/* Footer */
|
|
.upload-progress-footer {
|
|
padding: 1.25rem 1.5rem;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
.upload-progress-btn {
|
|
padding: 0.75rem 2rem;
|
|
border-radius: 8px;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.upload-progress-btn.primary {
|
|
background: linear-gradient(135deg, #a6ffea 0%, #4fd1c5 100%);
|
|
border: none;
|
|
color: #002224;
|
|
}
|
|
|
|
.upload-progress-btn.primary:hover {
|
|
opacity: 0.9;
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
.upload-progress-note {
|
|
margin: 0;
|
|
font-size: 0.8125rem;
|
|
color: rgba(255, 255, 255, 0.5);
|
|
text-align: center;
|
|
}
|