/* Import component styles */
@import url('components/top-navigation.css');
@import url('components/footer.css');
@import url('style.css');

:root {
  /* 颜色系统 */
  --color-theme: #7B61FF;

  /* 字体系统 */

  /* 其他通用值 */
}

/* Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  background-color: var(--color-bg, #f6f6f6);
  color: var(--color-Body, #1E1E1E);
  font-size: var(--fonts-size-body, 16px);
  line-height: 1.5;
  min-height: 100vh;
  overflow-x: hidden;
  width: 100%;
}

/* Page Wrapper */
.page-wrapper {
  display: block;
  min-height: 100vh;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  overflow-x: hidden;
}

/* Main Container */
.container {
  padding: 100px 6rem 0;
  max-width: 1440px;
  margin: 0 auto;
}

/* Header section */
.header {
  display: flex;
  margin-top: 32px;
  margin-bottom: 32px;
}

.summary {
  padding: 40px;
}

.summary-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 600px;
  margin-right: 4rem;
  margin-top: 12px;
  margin-bottom: 36px;
}

.summary-row {
  display: flex;
}

.summary-label {
  color: var(--color-H4, #7D7B7B);
  font-size: var(--fonts-size-label, 13px);
  width: 60px;
  margin-right: 36px;
}

.summary-content {
  color: var(--color-Body, #1E1E1E);
  width: 120px;
  font-size: var(--fonts-size-label, 13px);
}

.context {
  grid-column: 7 / 13;
}

.context h2 {
  color: var(--color-H2);
  margin-bottom: 8px;
}

.context p {
  line-height: 1.5;
  margin-bottom: 6px;
}

/* My role section */
.my-role {
  margin-top: 20px;
}

.my-role h3 {
  color: var(--color-H3, #968BA3);
  margin-bottom: 8px;
}

/* Project impact section */
.project-impact {
  margin-top: 20px;
}

.project-impact h3 {
  color: var(--color-H3, #968BA3);
  margin-bottom: 10px;
}

.project-impact ul {
  list-style-type: none;
  line-height: 1.5;
}

.project-impact li {
  margin-bottom: 2px;
  position: relative;
  padding-left: 20px;
}

.project-impact li::before {
  content: "-";
  position: absolute;
  left: 0;
  color: var(--color-H3, #968BA3);
  font-weight: bold;
}

/* Understanding section */
.understanding {
  margin-top: 120px;
}

.understanding h2 {
  color: var(--color-H2);
  margin-bottom: 16px;
}

.understanding .text-1 {
  line-height: 1.5;
  margin-bottom: 20px;
}

.understanding .text-1 ol {
  margin-top: 12px;
  margin-bottom: 20px;
  padding-left: 0;
  list-style-position: inside;
  /* 让序号在内容区最左侧 */
}

.understanding .text-1 ol li {
  margin-bottom: 4px;
  font-size: var(--fonts-size-body, 16px);
  text-indent: 0;
  /* 避免内容缩进 */
}

.understanding .text-2 {
  line-height: 1.5;
  margin-top: 36px;
}

.understanding .text-2 ol h4 {
  margin-top: 16px;
  margin-bottom: 4px;
  color: var(--color-H4);
  font-weight: 400;
}

/* Full Width Images */
.full-width-image {
  width: 100%;
  height: auto;
  margin: 36px 0;
}

/* Project goal section */
.project-goal {
  margin-top: 60px;
  margin-left: 6%;
  width: 100%;
  max-width: 60%;
}

.project-goal h2 {
  color: var(--color-H3, #968BA3);
  margin-bottom: 12px;
}

.project-goal p {
  color: var(--color-H2, #532889);
  font-family: Bitter, serif;
  font-size: var(--fonts-size-h1);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 12px;
}

/* Full Width Images */
.project-goal-scope {
  width: 100%;
  height: auto;
  margin: 18px 0;
}

/* Project task section */
.project-task {
  margin-top: 60px;
}

.project-task h2 {
  color: var(--color-H2);
  font-size: var(--fonts-size-h2);
  margin-bottom: 6px;
}

.project-task h1 {
  color: var(--color-H1);
  font-size: var(--fonts-size-h1);
  font-family: Bitter, serif;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 48px;
}

/* Task details */
.task-details {
  display: flex;
  margin: 20px 0;
}

.task-detail-col {
  flex: 1;
  margin-right: 20px;
}

.task-detail-col:last-child {
  margin-right: 0;
}

.task-detail-col h4 {
  color: var(--color-H4, #7D7B7B);
  font-size: var(--fonts-size-h4, 16px);
  font-weight: 400;
  margin-bottom: 8px;
}

.task-detail-col p {
  line-height: 1.5;
}

/* Background section */
.background {
  margin-top: 20px;
}

.background h3 {
  color: var(--color-H3);
  margin-bottom: 8px;
}

.background p {
  line-height: 1.5;
}

/* desk-research section */
.desk-research {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.desk-research h3 {
  color: var(--color-H3);
  margin-bottom: 8px;
}

.desk-research p {
  line-height: 1.5;
}

.desk-research-comparison {
  width: 80%;
  height: auto;
  margin: 48px auto;  
  display: block;
}

/* Purple section */
.purple-section {
  background-color: var(--color-theme, #7B61FF);
  padding: 40px 0;
  margin-top: 60px;
  color: var(--color-inverse, #ffffff);
  width: 100%;
  position: relative;
  overflow-x: hidden;
}

.purple-section .container {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 6rem;
  box-sizing: border-box;
}

/* Output section */
.output-section {
  display: flex;
  margin-top: 48px;
  gap: 48px;
}

.output-image {
  flex: 1.2;
}

.output-img-1 {
  width: 100%;
  height: auto;
}

.output-text {
  flex: 0.6;
  display: flex;
  flex-direction: column;
}

.output-text h2 {
  font-size: 16px;
  margin-bottom: 12px;
}

.output-text p {
  line-height: 1.5;
  margin-bottom: 40px;
}

.output-img-2 {
  width: 100%;
  height: auto;
  margin-top: auto;
}

.small-image {
  background-color: #b30000;
  width: 100%;
  height: 120px;
  margin-top: 20px;
}

/* After & Before section */
.after-before {
  margin-top: 60px;
}

.after-before h2 {
  color: white;
  margin-bottom: 12px;
}

.after-before p {
  color: white;
  line-height: 1.5;
  margin-bottom: 20px;
}

.comparison-image {
  width: 80%;
  height: auto;
  margin-bottom: 20px;
}

.screenshot {
  width: 100%;
  max-width: 300px;
  display: block;
  margin: 0 auto;
}


/* Figma Embed Styles */
.figma-embed {
  margin: 4rem 0;
  width: 100%;
  display: grid;
  grid-template-columns: 0.5fr 1.5fr 2fr;
  gap: 2rem;
}

.figma-embed h2 {
  grid-column: 2;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 500;
}

.figma-container {
  grid-column: 2 / span 2;
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
}

.figma-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background-color: rgba(255, 255, 255, 0.03);
}

/* Media Queries */
@media screen and (max-width: 1439px) {
  .container {
    padding: 100px 8% 0;
  }
}

@media screen and (max-width: 1024px) {
  .container {
    padding: 100px 6% 0;
  }

  .header {
    flex-direction: column;
  }

  .context {
    grid-column: 1 / 13;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .container {
    padding: 80px 4rem 0;
  }

  .figma-embed {
    grid-template-columns: 1fr;
  }

  .figma-embed h3,
  .figma-container {
    grid-column: 1;
  }

  .output-section {
    flex-direction: column;
    gap: 20px;
  }

  .output-text {
    margin-top: 0;
  }

  .small-image {
    margin-top: 15px;
  }

  .header {
    flex-direction: column;
  }

  .summary {
    margin-bottom: 20px;
  }

  .context {
    padding-left: 0;
  }

  .task-details {
    flex-direction: column;
  }

  .task-detail-col {
    margin-right: 0;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 480px) {
  .container {
    width: 100%;
    padding: 60px 2rem 0;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  .project-goal p {
    font-size: 16px;
    margin-top: 40px;
    width: 100%;
    max-width: none;
  }

  .project-task h3 {
    font-size: 16px;
  }

  .after-before h2 {
    font-size: 18px;
  }

  .comparison-image {
    width: 100%;
    height: auto;
  }

  .summary-container {
    max-width: 100%;
    margin-right: 0;
    padding: 0;
  }

  .summary-row {
    width: 100%;
    flex-wrap: wrap;
  }

  .summary-label {
    width: 100%;
    margin-right: 0;
    margin-bottom: 4px;
  }

  .summary-label,
  .summary-content {
    width: 100%;
    margin-right: 0;
  }

  .context {
    width: 100%;
    padding: 0;
  }

  .task-details {
    width: 100%;
    margin: 20px 0;
    padding: 0;
  }

  .task-detail-col {
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0;
  }

  .output-section {
    width: 100%;
    margin: 20px 0;
    padding: 0;
  }

  .output-image,
  .output-text {
    width: 100%;
    padding: 0;
  }

  .full-width-image {
    margin: 20px 0;
  }

  .purple-section .container {
    padding: 0 2rem;
  }

  .after-before {
    width: 100%;
    padding: 0;
  }

  .comparison-image {
    width: 100%;
    height: auto;
    margin: 0 0 20px 0;
  }

  .screenshot {
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
  }
}