Spaces:
Running
Running
| /* Rupkotha β calm "storybook" theme. Professional, low-contrast, presentable. | |
| Soft parchment/lavender background, deep slate-indigo ink, muted terracotta + | |
| dusty-gold accents. Warm and gentle β not high-contrast. */ | |
| @import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700&family=Noto+Sans+Bengali:wght@500;600;700&family=Nunito:wght@400;500;600;700;800&display=swap'); | |
| :root { | |
| --bg-1: #eef0f7; /* soft lavender mist */ | |
| --bg-2: #f7f2ea; /* warm cream */ | |
| --ink: #333a5c; /* deep slate-indigo (headings) */ | |
| --ink-body: #4a5170; /* body text */ | |
| --ink-soft: #7b81a0; /* secondary/placeholder */ | |
| --panel: #ffffff; | |
| --panel-2: #fbfaf6; | |
| --panel-brd: rgba(51, 58, 92, 0.10); | |
| --accent: #c4865a; /* muted terracotta */ | |
| --accent-2: #d6a463; /* dusty gold */ | |
| --accent-ink: #5a3a1e; | |
| --story-bg: #fbf6ec; /* parchment */ | |
| --story-ink: #43392b; | |
| --radius: 20px; | |
| --radius-sm: 13px; | |
| --shadow: 0 12px 34px rgba(46, 52, 88, 0.10); | |
| --shadow-sm: 0 4px 14px rgba(46, 52, 88, 0.08); | |
| } | |
| /* ββ Background: soft, calm gradient (no harsh dark) ββββββββββββββββββββ */ | |
| .gradio-container, | |
| .gradio-container .fillable, | |
| body { | |
| background: | |
| radial-gradient(900px 480px at 85% -12%, rgba(214, 164, 99, 0.10), transparent 60%), | |
| radial-gradient(820px 460px at 5% -6%, rgba(150, 160, 210, 0.12), transparent 58%), | |
| linear-gradient(165deg, var(--bg-1) 0%, var(--bg-2) 70%) ; | |
| color: var(--ink-body) ; | |
| font-family: 'Nunito', ui-sans-serif, system-ui, sans-serif; | |
| } | |
| .gradio-container { max-width: 100% ; margin: 0 ; padding: 0 28px ; } | |
| /* ββ Hero ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #hero { text-align: center; padding: 1.7rem 1rem 0.4rem; } | |
| #hero .hero-moon { | |
| font-size: 2.6rem; line-height: 1; | |
| filter: drop-shadow(0 6px 14px rgba(196, 134, 90, 0.30)); | |
| animation: float 6s ease-in-out infinite; | |
| } | |
| @keyframes float { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-6px) } } | |
| #hero h1 { | |
| font-family: 'Baloo 2', 'Noto Sans Bengali', sans-serif; | |
| font-size: 2.5rem; font-weight: 700; margin: .3rem 0 .25rem; | |
| color: var(--ink); | |
| letter-spacing: .2px; | |
| } | |
| #hero p { color: var(--ink-soft); font-size: 1.05rem; max-width: 560px; margin: 0 auto; } | |
| /* ββ Panels (soft cards) βββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #studio { gap: 22px ; margin-top: .8rem; align-items: stretch; } | |
| .panel { | |
| background: var(--panel) ; | |
| border: 1px solid var(--panel-brd) ; | |
| border-radius: var(--radius) ; | |
| box-shadow: var(--shadow); | |
| padding: 18px 20px ; | |
| } | |
| .panel .block, .panel .form, .panel .gr-group, .panel fieldset { | |
| background: transparent ; border: none ; box-shadow: none ; | |
| } | |
| /* Section headers inside panels. */ | |
| .panel-head { | |
| display: flex; align-items: center; gap: .55rem; | |
| font-family: 'Baloo 2', sans-serif; font-weight: 600; | |
| font-size: 1.1rem; color: var(--ink); | |
| margin: .7rem 0 .4rem; | |
| } | |
| .panel-head .step { | |
| display: inline-grid; place-items: center; | |
| width: 1.5rem; height: 1.5rem; border-radius: 50%; | |
| background: linear-gradient(135deg, var(--accent-2), var(--accent)); | |
| color: #fff; font-size: .82rem; font-weight: 700; | |
| box-shadow: var(--shadow-sm); | |
| } | |
| /* ββ Labels & text βββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container label, | |
| .gradio-container .gr-text { color: var(--ink-body) ; } | |
| .gradio-container label > span, | |
| .gradio-container .gr-form > span { font-weight: 600 ; color: var(--ink) ; } | |
| /* ββ Inputs ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container input[type="text"], | |
| .gradio-container textarea, | |
| .gradio-container .gr-dropdown, | |
| .gradio-container select { | |
| background: var(--panel-2) ; | |
| border: 1px solid rgba(51, 58, 92, 0.14) ; | |
| border-radius: var(--radius-sm) ; | |
| color: var(--ink) ; | |
| font-size: 1.04rem ; | |
| } | |
| .gradio-container input::placeholder, | |
| .gradio-container textarea::placeholder { color: var(--ink-soft) ; } | |
| .gradio-container input:focus, | |
| .gradio-container textarea:focus { | |
| border-color: var(--accent) ; | |
| box-shadow: 0 0 0 3px rgba(196, 134, 90, 0.16) ; | |
| } | |
| /* Upload drop zone. */ | |
| .upload-box, .upload-box .center, .upload-box .wrap { | |
| border-radius: var(--radius-sm) ; | |
| border: 1.5px dashed rgba(196, 134, 90, 0.45) ; | |
| background: rgba(214, 164, 99, 0.06) ; | |
| color: var(--ink-body) ; | |
| } | |
| /* ββ Image preview gallery βββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .preview { | |
| border-radius: var(--radius-sm) ; | |
| border: 1px solid var(--panel-brd) ; | |
| background: var(--panel-2) ; | |
| padding: 6px ; margin-top: .4rem; | |
| } | |
| .preview .thumbnail-item, .preview img, .preview button.thumbnail-item { | |
| border-radius: 10px ; | |
| box-shadow: var(--shadow-sm); | |
| } | |
| /* ββ Buttons βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| #generate-btn { | |
| font-family: 'Baloo 2', sans-serif ; | |
| font-size: 1.3rem ; font-weight: 700 ; | |
| padding: .85rem 1.5rem ; margin-top: .9rem ; width: 100% ; | |
| background: linear-gradient(135deg, var(--accent-2), var(--accent)) ; | |
| color: #fff ; border: none ; border-radius: 999px ; | |
| box-shadow: 0 8px 22px rgba(196, 134, 90, 0.32) ; | |
| transition: transform .15s ease, box-shadow .15s ease ; | |
| } | |
| #generate-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(196,134,90,.40) ; } | |
| #generate-btn:active { transform: translateY(0); } | |
| #save-btn { | |
| font-weight: 700 ; border-radius: 999px ; | |
| border: 1.5px solid var(--accent) ; color: var(--accent) ; | |
| background: transparent ; margin-top: .5rem ; | |
| } | |
| #save-btn:hover { background: rgba(196, 134, 90, 0.10) ; } | |
| /* ββ Story panel βββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .story-panel { display: flex; flex-direction: column; } | |
| .story-text textarea { | |
| font-family: 'Baloo 2', 'Noto Sans Bengali', serif ; | |
| font-size: 1.32rem ; line-height: 1.85 ; | |
| background: var(--story-bg) ; | |
| color: var(--story-ink) ; | |
| border: 1px solid rgba(196, 134, 90, 0.18) ; | |
| border-radius: var(--radius-sm) ; | |
| padding: 1.1rem 1.3rem ; | |
| min-height: 180px; /* small floor for the empty state; grows to fit content */ | |
| height: auto ; | |
| overflow-y: auto; | |
| } | |
| /* ββ Model badge βββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .model-badge p { | |
| display: inline-block; margin: .3rem 0 0 ; | |
| background: rgba(214, 164, 99, 0.12); | |
| border: 1px solid rgba(196, 134, 90, 0.30); | |
| border-radius: 999px; padding: .35rem 1rem; | |
| font-size: .82rem; color: var(--accent-ink) ; | |
| } | |
| /* ββ Saved stories βββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .section-title { | |
| font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 1.28rem; | |
| color: var(--ink); text-align: center; margin: 1.8rem 0 .7rem; | |
| } | |
| #history-row { gap: 16px ; } | |
| .saved-card { | |
| background: var(--panel) ; | |
| border: 1px solid var(--panel-brd) ; | |
| border-radius: var(--radius) ; | |
| box-shadow: var(--shadow-sm); padding: 14px 16px ; | |
| } | |
| .saved-text, .saved-text p { | |
| font-family: 'Baloo 2', 'Noto Sans Bengali', sans-serif; | |
| font-size: 1rem ; line-height: 1.62; color: var(--story-ink) ; | |
| } | |
| .saved-badge { display: inline-block; margin-top: .5rem; font-size: .72rem; color: var(--accent); } | |
| #stack-note { | |
| text-align: center; color: var(--ink-soft); | |
| font-size: .9rem; margin: 1.8rem 0 1rem; | |
| } | |
| #stack-note b { color: var(--accent); } | |
| /* ββ Accessibility βββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| .gradio-container *:focus-visible { | |
| outline: 3px solid var(--accent) ; outline-offset: 2px; | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| #hero .hero-moon { animation: none ; } | |
| .gradio-container * { animation: none ; transition: none ; } | |
| } | |
| /* ββ Mobile ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ | |
| @media (max-width: 820px) { | |
| #studio { flex-direction: column ; } | |
| #hero h1 { font-size: 2rem; } | |
| .story-text textarea { font-size: 1.22rem ; min-height: 240px; } | |
| } | |