index.scss 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. .mistake-capture-page,
  2. .paper-capture-page,
  3. .answer-capture-page,
  4. .answer-guide-page,
  5. .photo-guide-page,
  6. .photo-gallery-page {
  7. background: #fff;
  8. color: #1a1a2e;
  9. .workflow-nav {
  10. height: 116px;
  11. min-height: 116px;
  12. padding: 16px;
  13. border: 0;
  14. font-size: 36px;
  15. color: #000;
  16. }
  17. .workflow-nav > text,
  18. .workflow-nav > taro-text-core {
  19. position: absolute;
  20. left: 50%;
  21. transform: translateX(-50%);
  22. white-space: nowrap;
  23. }
  24. .back-button {
  25. width: 76px;
  26. height: 76px;
  27. line-height: 76px;
  28. background: #f5f5f5;
  29. color: #111;
  30. font-size: 32px;
  31. }
  32. .nav-action { max-width: none; }
  33. .nav-action .text-button { font-weight: 400; }
  34. .text-button { color: #8b3dff; font-size: 28px; }
  35. .primary-button {
  36. padding: 26px 18px;
  37. border-radius: 24px;
  38. font-size: 29px;
  39. font-weight: 600;
  40. background: linear-gradient(110deg, #7c3aed, #a78bfa);
  41. }
  42. }
  43. .photo-gallery-page {
  44. padding-bottom: calc(140px + env(safe-area-inset-bottom));
  45. .workflow-nav { height: 128px; border-bottom: 1px solid #eee; }
  46. .workflow-body { padding: 32px 18px 24px; }
  47. .gallery-list { display: flex; flex-direction: column; gap: 22px; }
  48. .gallery-row { display: flex; align-items: flex-start; gap: 26px; padding: 24px 26px; border-radius: 28px; background: #faf8fd; }
  49. .gallery-thumbnail { display: block; flex-shrink: 0; width: 146px; height: 198px; background: #fff; }
  50. .gallery-file-copy { flex: 1; min-width: 0; padding-top: 4px; }
  51. .gallery-file-name { display: block; font-size: 26px; line-height: 1.7; color: #000; overflow-wrap: anywhere; }
  52. .gallery-view { width: auto; padding: 0; margin-top: 18px; text-align: left; font-size: 30px; }
  53. .gallery-delete { flex-shrink: 0; align-self: center; padding: 0; width: auto; color: #ff4d5e; font-size: 30px; }
  54. .gallery-row.is-document { align-items: center; min-height: 134px; }
  55. .is-document .gallery-file-copy { padding-top: 0; }
  56. .gallery-document-icon { position: relative; flex-shrink: 0; width: 50px; height: 66px; margin: 12px 16px; padding: 16px 6px 0; border-radius: 2px; background: #e7e0ef; color: #aa9dbb; font-size: 40px; line-height: 1; }
  57. .gallery-document-icon::before { position: absolute; top: 0; right: 0; content: ''; border-top: 18px solid #faf8fd; border-left: 18px solid #cfc5de; }
  58. .gallery-footer { position: fixed; z-index: 10; bottom: 0; left: 0; right: 0; padding: 18px 18px calc(18px + env(safe-area-inset-bottom)); background: #fff; }
  59. }
  60. .mistake-capture-page {
  61. .workflow-body { padding: 0 16px 32px; }
  62. .student-link-bar {
  63. display: flex;
  64. justify-content: space-between;
  65. align-items: center;
  66. gap: 20px;
  67. padding: 32px 24px;
  68. border-radius: 24px;
  69. background: #faf7ff;
  70. }
  71. .student-link-copy { flex: 1; min-width: 0; }
  72. .student-link-bar > .text-button { flex-shrink: 0; width: auto; }
  73. .student-link-bar .panel-title {
  74. font-size: 25px;
  75. color: #6d00ed;
  76. margin-bottom: 10px;
  77. }
  78. .student-link-bar .panel-description { font-size: 23px; color: #999; line-height: 1.5; }
  79. }
  80. .mistake-capture-page,
  81. .paper-capture-page {
  82. .capture-zone {
  83. display: flex;
  84. flex-direction: column;
  85. align-items: center;
  86. justify-content: center;
  87. height: 418px;
  88. margin: 32px 0;
  89. padding: 30px;
  90. border: 4px dashed #d0d5dd;
  91. border-radius: 32px;
  92. background: #fafbfc;
  93. }
  94. .capture-symbol { font-size: 80px; line-height: 1.3; margin-bottom: 26px; }
  95. .capture-zone .panel-title { font-size: 32px; margin-bottom: 12px; }
  96. .capture-zone .panel-description { font-size: 26px; color: #999; line-height: 1.5; }
  97. .capture-batch { margin-bottom: 32px; }
  98. .capture-count { width: fit-content; text-align: left; padding: 0; margin-bottom: 24px; font-size: 25px; }
  99. .capture-imports { display: flex; gap: 24px; }
  100. .capture-import-card {
  101. display: flex;
  102. flex-direction: column;
  103. align-items: center;
  104. justify-content: center;
  105. flex: 1;
  106. min-width: 0;
  107. margin: 0;
  108. height: 212px;
  109. padding: 24px 8px;
  110. border: 0;
  111. border-radius: 28px;
  112. box-shadow: 0 4px 16px rgba(0, 0, 0, .06);
  113. background: #fff;
  114. color: #1a1a2e;
  115. font-size: 28px;
  116. line-height: 1.5;
  117. }
  118. .capture-import-icon { display: block; font-size: 56px; margin-bottom: 18px; line-height: 1.3; }
  119. }
  120. .paper-capture-page {
  121. .workflow-nav { padding: 16px 26px; border-bottom: 1px solid #eee; height: 124px; }
  122. .workflow-body { padding: 0 26px 32px; }
  123. .paper-metadata { padding: 28px; border-radius: 28px; background: #faf7ff; }
  124. .paper-metadata-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 28px 0; }
  125. .paper-meta-select { display: block; min-width: 0; }
  126. .paper-meta-field { display: block; padding: 0; border: 0; }
  127. .field-label { margin: 0 0 10px; color: #655274; font-size: 26px; font-weight: 400; line-height: 1.3; }
  128. .field-input,
  129. .paper-select-control { width: 100%; height: 84px; padding: 20px 22px; border: 1px solid #ddd0f6; border-radius: 16px; background: #fff; color: #544466; font-size: 26px; line-height: 1.5; }
  130. .paper-select-control { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  131. .paper-select-arrow { flex-shrink: 0; }
  132. .capture-zone { height: 408px; margin: 36px 0 32px; }
  133. }
  134. .answer-capture-page,
  135. .answer-guide-page {
  136. padding-bottom: calc(24px + env(safe-area-inset-bottom));
  137. .workflow-nav { height: 112px; min-height: 112px; padding: 12px 32px; border-bottom: 1px solid #eee; }
  138. .workflow-body { padding: 0 0 28px; }
  139. .answer-intro { padding: 8px 40px 28px; }
  140. .answer-intro-title { display: block; font-size: 38px; font-weight: 700; color: #252039; line-height: 1.5; margin-bottom: 6px; }
  141. .answer-intro-description { display: block; white-space: pre-line; font-size: 24px; line-height: 1.7; color: #8b8797; }
  142. .answer-stage { margin: 0 32px; padding: 28px 32px 24px; border-radius: 32px; background: linear-gradient(145deg, #f0ebf8, #e7e3ef); }
  143. .answer-stage-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 24px; font-size: 22px; line-height: 1.5; color: #81778f; }
  144. .answer-stage-label { padding: 6px 14px; border-radius: 10px; background: #fff; color: #8b3dff; }
  145. .answer-reference { display: block; width: 408px; height: 622px; max-width: 100%; margin: 0 auto; box-shadow: 0 16px 40px #36204c18; }
  146. .answer-caption { display: block; margin-top: 24px; text-align: center; font-size: 22px; line-height: 1.5; color: #736486; }
  147. .answer-rules { display: flex; gap: 12px; margin: 24px 32px 0; }
  148. .answer-rule { flex: 1; min-width: 0; padding: 20px 6px; border-radius: 18px; background: #faf8fd; text-align: center; font-size: 22px; line-height: 1.6; color: #797282; }
  149. .answer-rule-title { display: block; font-weight: 600; color: #544466; }
  150. .answer-buttons { display: flex; gap: 20px; margin: 28px 18px 0; }
  151. .answer-album-button,
  152. .answer-camera-button { display: flex; justify-content: center; align-items: center; flex: 1; min-width: 0; width: auto; min-height: 88px; margin: 0; padding: 22px 8px; border: 0; border-radius: 26px; font-size: 29px; font-weight: 600; line-height: 1.5; }
  153. .answer-album-button { background: #f3edff; color: #8b3dff; }
  154. }
  155. .photo-guide-page {
  156. .workflow-body { padding: 0 28px 32px; }
  157. .photo-guide-intro { padding: 26px 8px 24px; }
  158. .photo-guide-title { display: block; font-size: 38px; font-weight: 700; color: #252039; margin-bottom: 12px; }
  159. .photo-guide-description { display: block; white-space: pre-line; font-size: 24px; line-height: 1.7; color: #8b8797; }
  160. .photo-guide-stage { padding: 28px 32px 24px; border-radius: 32px; background: linear-gradient(145deg, #f0ebf8, #e7e3ef); }
  161. .photo-guide-stage-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 22px; color: #81778f; margin-bottom: 24px; }
  162. .photo-guide-label { padding: 6px 14px; border-radius: 10px; background: #fff; color: #8b3dff; white-space: nowrap; }
  163. .photo-guide-frame { position: relative; width: 464px; max-width: 100%; padding: 16px; margin: 0 auto; background: #e5dfed; border-radius: 8px; }
  164. .photo-guide-reference { display: block; width: 100%; height: 576px; }
  165. .photo-guide-corner { position: absolute; width: 34px; height: 34px; border-color: #7c3aed; border-style: solid; pointer-events: none; }
  166. .photo-guide-corner.tl { top: 0; left: 0; border-width: 4px 0 0 4px; }
  167. .photo-guide-corner.tr { top: 0; right: 0; border-width: 4px 4px 0 0; }
  168. .photo-guide-corner.bl { bottom: 0; left: 0; border-width: 0 0 4px 4px; }
  169. .photo-guide-corner.br { bottom: 0; right: 0; border-width: 0 4px 4px 0; }
  170. .photo-guide-caption { display: block; text-align: center; margin-top: 24px; font-size: 22px; line-height: 1.5; color: #736486; }
  171. .photo-guide-rules { display: flex; gap: 12px; margin: 24px 0; }
  172. .photo-guide-rule { flex: 1; min-width: 0; padding: 20px 6px; border-radius: 18px; background: #faf8fd; text-align: center; font-size: 20px; line-height: 1.7; white-space: pre-line; color: #797282; }
  173. .photo-guide-rule-title { display: block; font-size: 22px; font-weight: 600; color: #544466; }
  174. .photo-guide-multipage { padding: 24px 28px; border-radius: 24px; background: #faf8fd; white-space: pre-line; font-size: 24px; line-height: 1.8; color: #797282; }
  175. .photo-guide-multipage .photo-guide-rule-title { font-size: 25px; margin-bottom: 8px; }
  176. }