/* Art Deco Elegance Theme - Time Manager Styles */ :root { /* Art Deco Color Palette */ --deco-gold: #D4AF37; --deco-light-gold: #F4E4BC; --deco-dark-gold: #B8941F; --deco-black: #1A1A1A; --deco-cream: #F5F2E8; --deco-gray: #4A4A4A; --deco-accent: #8B4513; /* Typography */ --font-display: 'Playfair Display', 'Georgia', serif; --font-body: 'Crimson Text', 'Times New Roman', serif; --font-accent: 'Oswald', 'Arial', sans-serif; /* Spacing */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 2rem; --spacing-xl: 3rem; /* Borders and Ornaments */ --border-ornate: 2px solid var(--deco-gold); --shadow-elegant: 0 4px 20px rgba(212, 175, 55, 0.3); } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: var(--font-body); background-color: var(--deco-black); color: var(--deco-cream); line-height: 1.6; min-height: 100vh; background-image: repeating-linear-gradient( 45deg, transparent, transparent 10px, rgba(212, 175, 55, 0.05) 10px, rgba(212, 175, 55, 0.05) 20px ); } .time-manager-container { max-width: 1200px; margin: 0 auto; padding: var(--spacing-lg); } /* Header Styles */ .tm-header { text-align: center; margin-bottom: var(--spacing-xl); } .art-deco-frame { display: inline-block; padding: var(--spacing-lg); position: relative; background: var(--deco-black); border: 3px solid var(--deco-gold); clip-path: polygon( 0 10px, 10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px) ); } .art-deco-frame::before, .art-deco-frame::after { content: ''; position: absolute; width: 100%; height: 100%; border: 1px solid var(--deco-gold); pointer-events: none; } .art-deco-frame::before { top: -6px; left: -6px; right: -6px; bottom: -6px; } .tm-title { font-family: var(--font-display); font-size: 3rem; color: var(--deco-gold); text-transform: uppercase; letter-spacing: 0.3rem; margin-bottom: var(--spacing-sm); text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); } .tm-subtitle { font-family: var(--font-accent); font-size: 1.2rem; color: var(--deco-light-gold); text-transform: uppercase; letter-spacing: 0.2rem; } .tm-current-time { margin-top: var(--spacing-lg); padding: var(--spacing-md); background: linear-gradient(135deg, var(--deco-black) 0%, var(--deco-gray) 100%); border: var(--border-ornate); display: inline-block; } .time-display { font-family: var(--font-accent); font-size: 2.5rem; color: var(--deco-gold); letter-spacing: 0.1rem; } .date-display { font-family: var(--font-body); font-size: 1.2rem; color: var(--deco-cream); margin-top: var(--spacing-xs); } /* Navigation Styles */ .tm-navigation { display: flex; justify-content: center; gap: var(--spacing-sm); margin-bottom: var(--spacing-xl); padding: var(--spacing-md); background: var(--deco-black); border-top: var(--border-ornate); border-bottom: var(--border-ornate); } .nav-tab { font-family: var(--font-accent); font-size: 1rem; text-transform: uppercase; letter-spacing: 0.1rem; padding: var(--spacing-sm) var(--spacing-lg); background: transparent; color: var(--deco-cream); border: 1px solid var(--deco-gold); cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; } .nav-tab::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--deco-gold); transition: left 0.3s ease; z-index: -1; } .nav-tab:hover::before, .nav-tab.active::before { left: 0; } .nav-tab:hover, .nav-tab.active { color: var(--deco-black); } /* Content Panel Styles */ .tm-content { background: var(--deco-black); border: var(--border-ornate); padding: var(--spacing-lg); box-shadow: var(--shadow-elegant); min-height: 500px; } .view-panel { display: none; } .view-panel.active { display: block; animation: fadeIn 0.5s ease; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Calendar Styles */ .calendar-container { max-width: 800px; margin: 0 auto; } .calendar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--spacing-lg); padding: var(--spacing-md); background: var(--deco-gray); border: var(--border-ornate); } .calendar-nav { font-family: var(--font-accent); font-size: 1.5rem; background: transparent; color: var(--deco-gold); border: none; cursor: pointer; padding: var(--spacing-sm); transition: transform 0.2s ease; } .calendar-nav:hover { transform: scale(1.2); } .calendar-month-year { font-family: var(--font-display); font-size: 1.8rem; color: var(--deco-gold); text-transform: uppercase; letter-spacing: 0.2rem; } .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: var(--deco-gold); border: var(--border-ornate); padding: 1px; } .day-header { font-family: var(--font-accent); text-transform: uppercase; text-align: center; padding: var(--spacing-md); background: var(--deco-gray); color: var(--deco-gold); letter-spacing: 0.1rem; } .calendar-day { aspect-ratio: 1; background: var(--deco-black); border: 1px solid transparent; padding: var(--spacing-sm); cursor: pointer; transition: all 0.3s ease; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: var(--font-body); } .calendar-day:hover { background: var(--deco-gray); border-color: var(--deco-gold); } .calendar-day.selected { background: var(--deco-gold); color: var(--deco-black); } .calendar-day.today { border: 2px solid var(--deco-gold); } .calendar-day.other-month { opacity: 0.3; } .events-panel { margin-top: var(--spacing-xl); padding: var(--spacing-lg); background: var(--deco-gray); border: var(--border-ornate); } .events-title { font-family: var(--font-display); font-size: 1.5rem; color: var(--deco-gold); margin-bottom: var(--spacing-md); text-transform: uppercase; letter-spacing: 0.1rem; } .events-list { list-style: none; } .event-item { padding: var(--spacing-md); margin-bottom: var(--spacing-sm); background: var(--deco-black); border-left: 4px solid var(--deco-gold); font-family: var(--font-body); } /* Timer Styles */ .timer-container { text-align: center; max-width: 600px; margin: 0 auto; } .timer-display { padding: var(--spacing-xl); background: var(--deco-gray); border: var(--border-ornate); margin-bottom: var(--spacing-lg); position: relative; } .timer-display::before, .timer-display::after { content: '❦'; position: absolute; font-size: 2rem; color: var(--deco-gold); } .timer-display::before { top: var(--spacing-md); left: var(--spacing-md); } .timer-display::after { bottom: var(--spacing-md); right: var(--spacing-md); } .timer-digits { font-family: var(--font-accent); font-size: 4rem; color: var(--deco-gold); letter-spacing: 0.2rem; } .timer-controls { display: flex; justify-content: center; gap: var(--spacing-md); margin-bottom: var(--spacing-lg); } .timer-btn, .preset-btn, .schedule-btn, .deadline-btn, .converter-btn { font-family: var(--font-accent); text-transform: uppercase; letter-spacing: 0.1rem; padding: var(--spacing-md) var(--spacing-lg); background: var(--deco-black); color: var(--deco-gold); border: var(--border-ornate); cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; } .timer-btn:hover, .preset-btn:hover, .schedule-btn:hover, .deadline-btn:hover, .converter-btn:hover { background: var(--deco-gold); color: var(--deco-black); } .timer-presets { padding: var(--spacing-lg); background: var(--deco-black); border: var(--border-ornate); } .timer-presets h3 { font-family: var(--font-display); color: var(--deco-gold); margin-bottom: var(--spacing-md); text-transform: uppercase; letter-spacing: 0.1rem; } .preset-buttons { display: flex; justify-content: center; gap: var(--spacing-sm); flex-wrap: wrap; } /* Schedule Styles */ .schedule-container { max-width: 700px; margin: 0 auto; } .schedule-title, .timezone-title, .deadlines-title { font-family: var(--font-display); font-size: 2rem; color: var(--deco-gold); text-align: center; margin-bottom: var(--spacing-lg); text-transform: uppercase; letter-spacing: 0.2rem; } .schedule-form, .deadline-form { display: grid; gap: var(--spacing-md); margin-bottom: var(--spacing-lg); padding: var(--spacing-lg); background: var(--deco-gray); border: var(--border-ornate); } .schedule-input, .deadline-input, .converter-input, .converter-select { font-family: var(--font-body); font-size: 1rem; padding: var(--spacing-md); background: var(--deco-black); color: var(--deco-cream); border: 1px solid var(--deco-gold); transition: border-color 0.3s ease; } .schedule-input:focus, .deadline-input:focus, .converter-input:focus, .converter-select:focus { outline: none; border-color: var(--deco-light-gold); } .schedule-timeline { padding: var(--spacing-lg); background: var(--deco-black); border: var(--border-ornate); } .timeline-item { display: flex; align-items: center; padding: var(--spacing-md); margin-bottom: var(--spacing-sm); border-bottom: 1px solid var(--deco-gray); } .timeline-time { font-family: var(--font-accent); color: var(--deco-gold); margin-right: var(--spacing-lg); min-width: 80px; } .timeline-task { font-family: var(--font-body); color: var(--deco-cream); } /* Timezone Styles */ .timezone-container { max-width: 900px; margin: 0 auto; } .timezone-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--spacing-md); margin-bottom: var(--spacing-xl); } .timezone-card { padding: var(--spacing-lg); background: var(--deco-gray); border: var(--border-ornate); text-align: center; transition: transform 0.3s ease; } .timezone-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-elegant); } .timezone-card h3 { font-family: var(--font-display); color: var(--deco-gold); margin-bottom: var(--spacing-sm); text-transform: uppercase; letter-spacing: 0.1rem; } .tz-time { font-family: var(--font-accent); font-size: 1.5rem; color: var(--deco-cream); } .timezone-converter { padding: var(--spacing-lg); background: var(--deco-gray); border: var(--border-ornate); } .timezone-converter h3 { font-family: var(--font-display); color: var(--deco-gold); margin-bottom: var(--spacing-md); text-transform: uppercase; letter-spacing: 0.1rem; text-align: center; } .converter-results { margin-top: var(--spacing-lg); padding: var(--spacing-md); background: var(--deco-black); border: 1px solid var(--deco-gold); min-height: 100px; } /* Deadlines Styles */ .deadlines-container { max-width: 800px; margin: 0 auto; } .deadlines-list { display: grid; gap: var(--spacing-md); } .deadline-item { padding: var(--spacing-lg); background: var(--deco-gray); border: var(--border-ornate); position: relative; transition: transform 0.3s ease; } .deadline-item:hover { transform: translateX(5px); } .deadline-item.high-priority { border-color: #FF6B6B; box-shadow: 0 0 20px rgba(255, 107, 107, 0.3); } .deadline-item.medium-priority { border-color: #FFD93D; box-shadow: 0 0 20px rgba(255, 217, 61, 0.3); } .deadline-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--spacing-sm); } .deadline-title-text { font-family: var(--font-display); font-size: 1.3rem; color: var(--deco-gold); } .deadline-priority { font-family: var(--font-accent); font-size: 0.9rem; text-transform: uppercase; padding: var(--spacing-xs) var(--spacing-sm); background: var(--deco-black); color: var(--deco-gold); border: 1px solid var(--deco-gold); } .deadline-date { font-family: var(--font-body); color: var(--deco-cream); margin-bottom: var(--spacing-sm); } .deadline-countdown { font-family: var(--font-accent); color: var(--deco-light-gold); font-size: 0.9rem; } .deadline-remove { position: absolute; top: var(--spacing-sm); right: var(--spacing-sm); background: transparent; color: var(--deco-gold); border: none; font-size: 1.2rem; cursor: pointer; opacity: 0.7; transition: opacity 0.3s ease; } .deadline-remove:hover { opacity: 1; } /* Footer Styles */ .tm-footer { text-align: center; margin-top: var(--spacing-xl); padding: var(--spacing-lg); position: relative; } .art-deco-ornament { width: 200px; height: 2px; background: var(--deco-gold); margin: 0 auto var(--spacing-md); position: relative; } .art-deco-ornament::before, .art-deco-ornament::after { content: '◆'; position: absolute; top: 50%; transform: translateY(-50%); color: var(--deco-gold); font-size: 1rem; } .art-deco-ornament::before { left: -20px; } .art-deco-ornament::after { right: -20px; } .footer-text { font-family: var(--font-body); font-style: italic; color: var(--deco-cream); letter-spacing: 0.1rem; } /* Responsive Design */ @media (max-width: 768px) { .tm-title { font-size: 2rem; } .time-display { font-size: 2rem; } .tm-navigation { flex-wrap: wrap; } .nav-tab { font-size: 0.9rem; padding: var(--spacing-xs) var(--spacing-md); } .timezone-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } .timer-digits { font-size: 3rem; } }