/* TFE (Thesis) Page Styling */ .tfe-body { margin: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; } /* Header */ .tfe-header { flex: 2; min-height: 0; background: #9557b5; color: white; padding: 1.5rem 2rem; margin: 0; border-radius: 40px; display: flex; align-items: center; box-sizing: border-box; overflow-y: auto; } .header-content { width: 100%; } .tfe-title { font-family: "police1", sans-serif; font-size: 1.75rem; font-weight: 700; margin: 0 0 0.5rem 0; line-height: 1.2; color: white; } .tfe-subtitle { font-size: 1.15rem; margin: 0 0 1rem 0; opacity: 0.9; font-style: italic; } .header-metadata { display: flex; flex-direction: column; gap: 0.5rem; } .meta-group { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; font-size: 0.95rem; opacity: 0.95; } .meta-group.keywords { margin-top: 0.25rem; } .meta-group .label { font-weight: 600; opacity: 0.85; } .meta-group .author { font-weight: 500; } .meta-group .separator { opacity: 0.6; } .meta-group .year { font-weight: 600; } /* Main Content */ .tfe-main { flex: 7; min-height: 0; background: #3c856b; padding: 2rem; margin: 0; border-radius: 40px; box-sizing: border-box; overflow-y: auto; } .tfe-container { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 2rem; } /* Metadata Section */ .tfe-metadata { background: white; border-radius: 12px; padding: 2rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); } .subtitle { font-size: 1.25rem; color: #666; margin: 0 0 1.5rem 0; font-style: italic; } .metadata-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 3rem; margin-bottom: 1rem; } .metadata-column { display: flex; flex-direction: column; gap: 1rem; } .meta-item { display: flex; flex-direction: column; gap: 0.25rem; } .meta-item strong { color: #9557b5; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; } .meta-item span { color: #333; font-size: 1rem; line-height: 1.5; } .context-note { margin-top: 1.5rem; padding: 1rem; background: #f8f8f8; border-left: 4px solid #9557b5; border-radius: 4px; } .context-note em { color: #555; font-size: 0.95rem; line-height: 1.6; } /* Synopsis Section */ .tfe-synopsis { background: white; border-radius: 12px; padding: 2rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); } .tfe-synopsis h3 { font-size: 1.5rem; color: #9557b5; margin: 0 0 1rem 0; font-weight: 700; } .synopsis-content { color: #333; font-size: 1rem; line-height: 1.7; } /* Files Section */ .tfe-files { display: flex; flex-direction: column; gap: 2rem; } .file-block { background: white; border-radius: 12px; padding: 1.5rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); overflow: hidden; } .file-block embed, .file-block video { border-radius: 8px; display: block; } .image-figure { margin: 0; text-align: center; } .image-figure img { max-width: 100%; height: auto; border-radius: 8px; display: block; margin: 0 auto; } .file-description { margin: 1rem 0 0 0; color: #666; font-size: 0.9rem; font-style: italic; text-align: center; } .no-files { background: #fff3cd; color: #856404; padding: 1.5rem; border-radius: 8px; text-align: center; border: 1px solid #ffeaa7; } /* Footer */ .tfe-footer { flex: 1; min-height: 0; background: #222; color: white; padding: 1rem 2rem; margin: 0; border-radius: 40px; box-sizing: border-box; overflow: hidden; } .footer-content { height: 100%; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; } .back-button { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: rgba(255, 255, 255, 0.15); border-radius: 50%; color: white; text-decoration: none; transition: all 0.2s ease; flex-shrink: 0; } .back-button:hover { background: rgba(255, 255, 255, 0.25); transform: translateX(-2px); } .back-button svg { display: block; } .footer-meta { display: flex; align-items: center; gap: 0.75rem; font-size: 0.9rem; opacity: 0.9; } .footer-meta .separator { opacity: 0.6; } /* Responsive Design */ @media (max-width: 768px) { .tfe-header { padding: 1rem; } .tfe-title { font-size: 1.35rem; } .tfe-subtitle { font-size: 1rem; } .meta-group { font-size: 0.85rem; } .back-button { width: 40px; height: 40px; } .back-button svg { width: 20px; height: 20px; } .tfe-main { padding: 1.5rem; } .tfe-container { gap: 1.5rem; } .tfe-metadata, .tfe-synopsis, .file-block { padding: 1.5rem; } .metadata-grid { grid-template-columns: 1fr; gap: 1.5rem; } .footer-content { flex-direction: column; text-align: center; justify-content: center; } .tfe-footer { padding: 1rem; } } @media (max-width: 480px) { .tfe-title { font-size: 1.15rem; } .tfe-subtitle { font-size: 0.9rem; } .meta-group { font-size: 0.8rem; gap: 0.4rem; } .back-button { width: 36px; height: 36px; } .back-button svg { width: 18px; height: 18px; } .tfe-synopsis h3 { font-size: 1.25rem; } .file-block embed { height: 500px; } .tfe-main { padding: 1rem; } .tfe-container { gap: 1rem; } }