/* Global container - Light paper background */ .gradio-container { background: linear-gradient(135deg, #faf8f3 0%, #f5f2e8 50%, #f0ebe0 100%); min-height: 100vh; font-family: 'Georgia', 'Times New Roman', serif; } /* Main header - Classic book cover feel */ .main-header { background: linear-gradient(145deg, #ffffff 0%, #fdfcf8 100%); backdrop-filter: blur(10px); padding: 45px; border-radius: 20px; margin-bottom: 35px; text-align: center; color: #3d2914; border: 1px solid #e8dcc6; box-shadow: 0 10px 30px rgba(139, 69, 19, 0.08), 0 5px 15px rgba(139, 69, 19, 0.05), inset 0 1px 2px rgba(255, 255, 255, 0.9); position: relative; overflow: hidden; } /* Book spine decoration */ .main-header::before { content: ''; position: absolute; left: 50px; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, #d4a574 0%, #c19656 50%, #d4a574 100%); box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1); } .header-title { font-size: 3.2em; margin-bottom: 20px; font-weight: 700; color: #2c1810; text-shadow: 2px 2px 4px rgba(139, 69, 19, 0.1); font-family: 'Playfair Display', 'Georgia', serif; letter-spacing: -0.5px; } .header-description { font-size: 0.95em; color: #5a453a; line-height: 1.7; margin-top: 25px; text-align: justify; max-width: 920px; margin-left: auto; margin-right: auto; font-family: 'Georgia', serif; } .badges-container { display: flex; justify-content: center; gap: 12px; margin-top: 25px; margin-bottom: 25px; } /* Progress notes - Manuscript notes style */ .progress-note { background: linear-gradient(135deg, #fff9e6 0%, #fff5d6 100%); border-left: 4px solid #d4a574; padding: 22px 30px; margin: 25px auto; border-radius: 12px; color: #5a453a; max-width: 820px; font-weight: 500; box-shadow: 0 4px 12px rgba(212, 165, 116, 0.15); position: relative; } /* Handwritten note effect */ .progress-note::after { content: '📌'; position: absolute; top: -10px; right: 20px; font-size: 24px; transform: rotate(15deg); } .warning-note { background: #fef3e2; border-left: 4px solid #f6b73c; padding: 18px 25px; margin: 20px auto; border-radius: 10px; color: #7a5c00; max-width: 820px; font-size: 0.92em; box-shadow: 0 3px 10px rgba(246, 183, 60, 0.15); } /* Input section - Writing desk feel */ .input-section { background: linear-gradient(145deg, #ffffff 0%, #fcfaf7 100%); backdrop-filter: blur(10px); padding: 30px; border-radius: 16px; margin-bottom: 28px; border: 1px solid #e8dcc6; box-shadow: 0 6px 20px rgba(139, 69, 19, 0.06), inset 0 1px 3px rgba(255, 255, 255, 0.8); } /* Session section - File cabinet style */ .session-section { background: linear-gradient(145deg, #f8f4ed 0%, #f3ede2 100%); backdrop-filter: blur(8px); padding: 22px; border-radius: 14px; margin-top: 28px; color: #3d2914; border: 1px solid #ddd0b8; box-shadow: inset 0 2px 4px rgba(139, 69, 19, 0.08); } /* Display areas - Clean manuscript pages */ #stages-display { background: linear-gradient(to bottom, #ffffff 0%, #fdfcfa 100%); padding: 35px 40px; border-radius: 16px; max-height: 680px; overflow-y: auto; box-shadow: 0 8px 25px rgba(139, 69, 19, 0.08), inset 0 1px 3px rgba(255, 255, 255, 0.9); color: #3d2914; border: 1px solid #e8dcc6; font-family: 'Georgia', serif; line-height: 1.8; } #novel-output { background: linear-gradient(to bottom, #ffffff 0%, #fdfcfa 100%); padding: 45px 50px; border-radius: 16px; max-height: 780px; overflow-y: auto; box-shadow: 0 10px 30px rgba(139, 69, 19, 0.1), inset 0 1px 3px rgba(255, 255, 255, 0.9); color: #2c1810; line-height: 2.1; font-size: 1.05em; border: 1px solid #e8dcc6; font-family: 'Georgia', serif; } /* Typography enhancements */ #novel-output h1, #novel-output h2, #novel-output h3 { color: #2c1810; font-family: 'Playfair Display', 'Georgia', serif; margin-top: 30px; margin-bottom: 20px; } #novel-output blockquote { border-left: 3px solid #d4a574; padding-left: 20px; margin: 20px 0; font-style: italic; color: #5a453a; } /* Download section - Book binding style */ .download-section { background: linear-gradient(145deg, #faf6f0 0%, #f5efe6 100%); padding: 24px; border-radius: 14px; margin-top: 28px; box-shadow: 0 5px 15px rgba(139, 69, 19, 0.08); border: 1px solid #e8dcc6; } /* Progress bar - Vintage style */ .progress-bar { background-color: #f0e6d6; height: 28px; border-radius: 14px; overflow: hidden; margin: 18px 0; box-shadow: inset 0 3px 6px rgba(139, 69, 19, 0.15); border: 1px solid #e0d0b8; } .progress-fill { background: linear-gradient(90deg, #d4a574 0%, #c8995d 50%, #d4a574 100%); height: 100%; transition: width 0.6s ease; box-shadow: 0 2px 8px rgba(212, 165, 116, 0.4); } /* Custom scrollbar - Antique style */ ::-webkit-scrollbar { width: 12px; } ::-webkit-scrollbar-track { background: #f5f0e6; border-radius: 6px; box-shadow: inset 0 0 3px rgba(139, 69, 19, 0.1); } ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #d4a574, #c19656); border-radius: 6px; box-shadow: 0 2px 4px rgba(139, 69, 19, 0.2); } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #c19656, #b08648); } /* Button styling - Vintage typewriter keys */ .gr-button { background: linear-gradient(145deg, #faf8f5 0%, #f0e8dc 100%); border: 1px solid #d4a574; color: #3d2914; font-weight: 600; box-shadow: 0 3px 8px rgba(139, 69, 19, 0.15), inset 0 1px 2px rgba(255, 255, 255, 0.8); transition: all 0.3s ease; font-family: 'Georgia', serif; } .gr-button:hover { transform: translateY(-2px); box-shadow: 0 5px 12px rgba(139, 69, 19, 0.2), inset 0 1px 3px rgba(255, 255, 255, 0.9); background: linear-gradient(145deg, #fdfbf8 0%, #f3ebe0 100%); } .gr-button:active { transform: translateY(0); box-shadow: 0 2px 5px rgba(139, 69, 19, 0.15), inset 0 1px 2px rgba(139, 69, 19, 0.1); } /* Primary button - Gold accent */ .gr-button.primary, button[variant="primary"] { background: linear-gradient(145deg, #e4c896 0%, #d4a574 100%); border: 1px solid #c19656; color: #2c1810; font-weight: 700; } .gr-button.primary:hover, button[variant="primary"]:hover { background: linear-gradient(145deg, #e8d0a4 0%, #ddb280 100%); } /* Secondary button - Deep brown */ .gr-button.secondary, button[variant="secondary"] { background: linear-gradient(145deg, #8b6239 0%, #6d4e31 100%); border: 1px solid #5a3e28; color: #faf8f5; } .gr-button.secondary:hover, button[variant="secondary"]:hover { background: linear-gradient(145deg, #96693f 0%, #785436 100%); } /* Input fields - Parchment style */ input[type="text"], textarea, .gr-textbox textarea { background: #fffefa; border: 1px solid #d4c4b0; color: #3d2914; font-family: 'Georgia', serif; box-shadow: inset 0 2px 4px rgba(139, 69, 19, 0.05); } input[type="text"]:focus, textarea:focus, .gr-textbox textarea:focus { border-color: #c19656; box-shadow: 0 0 0 2px rgba(212, 165, 116, 0.2), inset 0 2px 4px rgba(139, 69, 19, 0.05); outline: none; } /* Tab styling - Book chapters */ .gr-tab-button { background: #f5f0e6; border: 1px solid #d4c4b0; color: #5a453a; font-weight: 600; } .gr-tab-button.selected { background: linear-gradient(145deg, #ffffff 0%, #fdfcf8 100%); border-bottom-color: transparent; color: #2c1810; box-shadow: 0 -2px 8px rgba(139, 69, 19, 0.1); } /* Dropdown styling */ select, .gr-dropdown { background: #fffefa; border: 1px solid #d4c4b0; color: #3d2914; } /* Radio button styling */ .gr-radio-group { background: transparent; } .gr-radio-group label { color: #3d2914; } /* Examples section */ .gr-examples { background: #f8f4ed; border: 1px solid #e8dcc6; border-radius: 12px; padding: 20px; margin-top: 20px; } /* Loading animation - Typewriter effect */ @keyframes typewriter { from { width: 0; } to { width: 100%; } } .typing-indicator { overflow: hidden; border-right: 3px solid #3d2914; white-space: nowrap; animation: typewriter 3s steps(40, end); } /* Markdown content styling */ .markdown-text h1, .markdown-text h2, .markdown-text h3 { color: #2c1810; font-family: 'Playfair Display', 'Georgia', serif; } .markdown-text p { color: #3d2914; line-height: 1.8; } .markdown-text code { background: #f5f0e6; padding: 2px 6px; border-radius: 4px; font-family: 'Courier New', monospace; color: #5a453a; } /* File component styling */ .gr-file { background: #faf8f5; border: 1px solid #d4c4b0; border-radius: 8px; } /* Status text special styling */ #status_text textarea { background: linear-gradient(145deg, #fff9e6 0%, #fff5d6 100%); border: 2px solid #d4a574; font-weight: 600; text-align: center; } /* Theme Library Styles - Simplified card design */ .library-stats { display: flex; justify-content: space-around; margin-bottom: 30px; padding: 20px; background: linear-gradient(145deg, #f8f4ed 0%, #f3ede2 100%); border-radius: 12px; box-shadow: 0 4px 12px rgba(139, 69, 19, 0.08); } .stat-item { text-align: center; } .stat-label { display: block; font-size: 0.9em; color: #5a453a; margin-bottom: 5px; } .stat-value { display: block; font-size: 2em; font-weight: bold; color: #2c1810; font-family: 'Playfair Display', 'Georgia', serif; } .theme-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 25px; padding: 20px; } .theme-card { background: linear-gradient(145deg, #ffffff 0%, #fdfcf8 100%); border: 1px solid #e8dcc6; border-radius: 12px; padding: 0; box-shadow: 0 4px 12px rgba(139, 69, 19, 0.06); transition: all 0.3s ease; position: relative; overflow: hidden; display: flex; flex-direction: column; height: 450px; /* Reduced height */ } .theme-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(139, 69, 19, 0.12); } .theme-card-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; border-bottom: 1px solid #e8dcc6; background: linear-gradient(145deg, #faf6f0 0%, #f5efe6 100%); flex-shrink: 0; } .theme-id { font-family: 'Courier New', monospace; color: #8b6239; font-size: 0.85em; font-weight: bold; } .theme-timestamp { font-size: 0.8em; color: #8a7968; } .theme-card-content { flex: 1; overflow-y: auto; padding: 20px; background: #fffefa; } /* Custom scrollbar for theme content */ .theme-card-content::-webkit-scrollbar { width: 6px; } .theme-card-content::-webkit-scrollbar-track { background: #f5f0e6; border-radius: 3px; } .theme-card-content::-webkit-scrollbar-thumb { background: #d4a574; border-radius: 3px; } .theme-card-content::-webkit-scrollbar-thumb:hover { background: #c19656; } .theme-full-text { font-family: 'Georgia', serif; line-height: 1.8; color: #3d2914; margin-bottom: 15px; font-size: 0.95em; text-align: justify; } .theme-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; padding-top: 15px; border-top: 1px solid #e8dcc6; } .theme-tag { display: inline-block; padding: 4px 12px; background: #f0e6d6; border-radius: 15px; font-size: 0.75em; color: #6d4e31; border: 1px solid #d4c4b0; } .theme-card-footer { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; border-top: 1px solid #e8dcc6; background: linear-gradient(145deg, #faf6f0 0%, #f5efe6 100%); flex-shrink: 0; } .theme-stats { display: flex; gap: 15px; } .theme-stat { font-size: 0.85em; color: #8a7968; } .theme-action-btn { padding: 8px 20px; font-size: 0.9em; border-radius: 6px; border: 1px solid #d4a574; background: linear-gradient(145deg, #e4c896 0%, #d4a574 100%); color: #2c1810; cursor: pointer; transition: all 0.2s ease; font-family: 'Georgia', serif; font-weight: bold; } .theme-action-btn:hover { background: linear-gradient(145deg, #e8d0a4 0%, #ddb280 100%); transform: translateY(-1px); box-shadow: 0 3px 8px rgba(212, 165, 116, 0.3); } .use-btn { background: linear-gradient(145deg, #e4c896 0%, #d4a574 100%); font-weight: bold; } .empty-library { text-align: center; padding: 60px 20px; color: #5a453a; font-size: 1.1em; font-style: italic; } /* Responsive design */ @media (max-width: 768px) { .theme-cards-grid { grid-template-columns: 1fr; } .theme-card { height: 400px; } }