ui-design-mockups-v4.html 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451
  1. <!-- Generated by Trae Work -->
  2. <!DOCTYPE html>
  3. <html lang="zh-CN">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>青幕AI写作 · UI 高保真设计稿 v4 · 苍苍竹色</title>
  8. <style>
  9. :root {
  10. /* 方案四:苍苍竹色 */
  11. --bamboo-ink: #1C3328;
  12. --bamboo-deep: #2D5040;
  13. --bamboo: #3E6B58;
  14. --bamboo-bright: #528A72;
  15. --bamboo-light: #8FC0A5;
  16. --bamboo-mist: #DAF0E2;
  17. --bamboo-gold: #C8A96E;
  18. --bamboo-warm: #EDE8D8;
  19. --bamboo-pale: #F5F1E8;
  20. --bg: var(--bamboo-pale);
  21. --surface: #ffffff;
  22. --ink: var(--bamboo-ink);
  23. --ink-secondary: #4a5a50;
  24. --muted: #7a8a7e;
  25. --rule: #d8d2c4;
  26. --rule-strong: #c8c0b0;
  27. --primary: var(--bamboo);
  28. --primary-deep: var(--bamboo-deep);
  29. --primary-light: rgba(62, 107, 88, 0.08);
  30. --accent: var(--bamboo-bright);
  31. --accent-light: var(--bamboo-light);
  32. --gold: var(--bamboo-gold);
  33. --paper: var(--bamboo-warm);
  34. --paper-warm: var(--bamboo-pale);
  35. --radius-sm: 4px;
  36. --radius-md: 6px;
  37. --radius-lg: 8px;
  38. --shadow-soft: 0 1px 2px rgba(28, 51, 40, 0.04);
  39. }
  40. * { box-sizing: border-box; }
  41. html { scroll-behavior: smooth; }
  42. body {
  43. margin: 0;
  44. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  45. background: var(--bg);
  46. color: var(--ink);
  47. line-height: 1.6;
  48. -webkit-font-smoothing: antialiased;
  49. }
  50. .container {
  51. max-width: 1160px;
  52. margin: 0 auto;
  53. padding: 64px 32px;
  54. }
  55. header {
  56. margin-bottom: 80px;
  57. padding-bottom: 48px;
  58. border-bottom: 1px solid var(--rule);
  59. }
  60. header h1 {
  61. font-size: 1.875rem;
  62. font-weight: 600;
  63. margin: 0 0 12px;
  64. letter-spacing: -0.01em;
  65. color: var(--ink);
  66. }
  67. header p {
  68. font-size: 0.95rem;
  69. color: var(--muted);
  70. max-width: 640px;
  71. line-height: 1.7;
  72. margin: 0;
  73. }
  74. .section {
  75. margin-bottom: 96px;
  76. }
  77. .section-title {
  78. font-size: 1.375rem;
  79. font-weight: 600;
  80. margin-bottom: 10px;
  81. color: var(--ink);
  82. }
  83. .section-desc {
  84. color: var(--muted);
  85. margin-bottom: 36px;
  86. font-size: 0.9rem;
  87. line-height: 1.7;
  88. }
  89. /* === SVG Icons === */
  90. .icon {
  91. width: 18px;
  92. height: 18px;
  93. stroke: currentColor;
  94. stroke-width: 1.5;
  95. fill: none;
  96. stroke-linecap: round;
  97. stroke-linejoin: round;
  98. }
  99. .icon-sm { width: 14px; height: 14px; stroke-width: 1.5; }
  100. .icon-lg { width: 22px; height: 22px; }
  101. /* === Logo mark === */
  102. .logo-mark {
  103. width: 56px;
  104. height: 56px;
  105. background: var(--primary);
  106. border-radius: var(--radius-md);
  107. display: flex;
  108. align-items: center;
  109. justify-content: center;
  110. color: white;
  111. flex-shrink: 0;
  112. box-shadow: 0 2px 8px rgba(62, 107, 88, 0.22);
  113. }
  114. .logo-mark svg {
  115. width: 32px;
  116. height: 32px;
  117. stroke: white;
  118. stroke-width: 2.2;
  119. fill: none;
  120. stroke-linecap: round;
  121. stroke-linejoin: round;
  122. }
  123. .logo-word {
  124. font-family: "Songti SC", "Noto Serif SC", "SimSun", serif;
  125. font-size: 26px;
  126. font-weight: 700;
  127. color: white;
  128. letter-spacing: 0.04em;
  129. }
  130. /* === Color rationale banner === */
  131. .color-rationale {
  132. display: grid;
  133. grid-template-columns: repeat(4, 1fr);
  134. gap: 20px;
  135. margin-bottom: 48px;
  136. padding: 24px;
  137. background: var(--surface);
  138. border: 1px solid var(--rule);
  139. border-radius: var(--radius-md);
  140. }
  141. @media (max-width: 900px) {
  142. .color-rationale { grid-template-columns: repeat(2, 1fr); }
  143. }
  144. .color-swatch {
  145. display: flex;
  146. align-items: center;
  147. gap: 12px;
  148. }
  149. .swatch-dot {
  150. width: 40px;
  151. height: 40px;
  152. border-radius: 50%;
  153. border: 1px solid var(--rule);
  154. flex-shrink: 0;
  155. }
  156. .swatch-info {
  157. font-size: 0.8rem;
  158. color: var(--muted);
  159. }
  160. .swatch-name {
  161. font-weight: 600;
  162. color: var(--ink);
  163. font-size: 0.85rem;
  164. }
  165. /* === Frames === */
  166. .frame {
  167. background: var(--surface);
  168. border: 1px solid var(--rule);
  169. border-radius: var(--radius-lg);
  170. overflow: hidden;
  171. box-shadow: var(--shadow-soft);
  172. }
  173. .frame-label {
  174. font-size: 0.7rem;
  175. color: var(--muted);
  176. margin-bottom: 12px;
  177. text-transform: uppercase;
  178. letter-spacing: 0.08em;
  179. }
  180. /* === Direction: Oriental Bamboo === */
  181. .welcome-asymmetric {
  182. min-height: 520px;
  183. background: var(--paper-warm);
  184. display: grid;
  185. grid-template-columns: 1.2fr 1fr;
  186. }
  187. @media (max-width: 900px) {
  188. .welcome-asymmetric { grid-template-columns: 1fr; }
  189. .container { padding: 40px 20px; }
  190. }
  191. .welcome-left {
  192. padding: 72px 64px;
  193. display: flex;
  194. flex-direction: column;
  195. justify-content: space-between;
  196. }
  197. .welcome-top {
  198. display: flex;
  199. align-items: flex-start;
  200. gap: 24px;
  201. }
  202. .welcome-title-block h2 {
  203. font-family: "Songti SC", "Noto Serif SC", "SimSun", serif;
  204. font-size: 2.25rem;
  205. font-weight: 700;
  206. margin: 0 0 10px;
  207. color: var(--ink);
  208. letter-spacing: 0.04em;
  209. }
  210. .welcome-title-block .subtitle {
  211. font-size: 0.95rem;
  212. color: var(--muted);
  213. line-height: 1.6;
  214. }
  215. .welcome-actions {
  216. display: flex;
  217. gap: 14px;
  218. margin-top: auto;
  219. padding-top: 48px;
  220. }
  221. .btn {
  222. padding: 12px 24px;
  223. border-radius: var(--radius-sm);
  224. font-size: 0.85rem;
  225. font-weight: 500;
  226. cursor: pointer;
  227. transition: all 0.12s ease;
  228. border: none;
  229. }
  230. .btn-primary {
  231. background: var(--primary);
  232. color: white;
  233. }
  234. .btn-primary:hover {
  235. background: var(--primary-deep);
  236. }
  237. .btn-secondary {
  238. background: transparent;
  239. color: var(--ink);
  240. border: 1px solid var(--rule-strong);
  241. }
  242. .btn-secondary:hover {
  243. border-color: var(--primary);
  244. color: var(--primary);
  245. }
  246. .btn-gold {
  247. background: var(--gold);
  248. color: white;
  249. }
  250. .btn-gold:hover {
  251. background: #b8985a;
  252. }
  253. .welcome-right {
  254. background: var(--surface);
  255. border-left: 1px solid var(--rule);
  256. padding: 48px;
  257. display: flex;
  258. flex-direction: column;
  259. }
  260. .recent-header {
  261. display: flex;
  262. align-items: baseline;
  263. justify-content: space-between;
  264. margin-bottom: 24px;
  265. }
  266. .recent-title {
  267. font-size: 0.75rem;
  268. color: var(--muted);
  269. text-transform: uppercase;
  270. letter-spacing: 0.08em;
  271. font-weight: 600;
  272. }
  273. .recent-more {
  274. font-size: 0.75rem;
  275. color: var(--primary);
  276. cursor: pointer;
  277. }
  278. .recent-item {
  279. padding: 18px 0;
  280. border-bottom: 1px solid var(--rule);
  281. cursor: pointer;
  282. transition: opacity 0.12s ease;
  283. }
  284. .recent-item:hover {
  285. opacity: 0.7;
  286. }
  287. .recent-item-title {
  288. font-size: 0.95rem;
  289. font-weight: 500;
  290. color: var(--ink);
  291. margin-bottom: 4px;
  292. font-family: "Songti SC", "Noto Serif SC", "SimSun", serif;
  293. }
  294. .recent-item-meta {
  295. font-size: 0.75rem;
  296. color: var(--muted);
  297. }
  298. .empty-tip {
  299. margin-top: auto;
  300. padding-top: 32px;
  301. font-size: 0.8rem;
  302. color: var(--muted);
  303. line-height: 1.6;
  304. border-top: 1px solid var(--rule);
  305. }
  306. /* === Main interface === */
  307. .main-interface {
  308. display: flex;
  309. height: 520px;
  310. background: var(--surface);
  311. }
  312. .rail {
  313. width: 54px;
  314. background: var(--paper);
  315. border-right: 1px solid var(--rule);
  316. display: flex;
  317. flex-direction: column;
  318. align-items: center;
  319. padding: 16px 0;
  320. gap: 6px;
  321. }
  322. .rail-btn {
  323. width: 38px;
  324. height: 38px;
  325. border-radius: var(--radius-sm);
  326. display: flex;
  327. align-items: center;
  328. justify-content: center;
  329. color: var(--muted);
  330. transition: all 0.12s ease;
  331. cursor: pointer;
  332. }
  333. .rail-btn:hover {
  334. color: var(--ink);
  335. background: rgba(0,0,0,0.03);
  336. }
  337. .rail-btn.active {
  338. color: var(--primary);
  339. background: var(--primary-light);
  340. }
  341. .sidebar {
  342. width: 250px;
  343. background: var(--surface);
  344. border-right: 1px solid var(--rule);
  345. display: flex;
  346. flex-direction: column;
  347. }
  348. .sidebar-header {
  349. padding: 18px 20px;
  350. font-weight: 600;
  351. font-size: 0.85rem;
  352. border-bottom: 1px solid var(--rule);
  353. color: var(--ink);
  354. display: flex;
  355. align-items: center;
  356. justify-content: space-between;
  357. }
  358. .tree {
  359. flex: 1;
  360. padding: 12px;
  361. overflow: auto;
  362. }
  363. .tree-item {
  364. padding: 8px 10px;
  365. border-radius: var(--radius-sm);
  366. font-size: 0.8rem;
  367. color: var(--muted);
  368. margin-bottom: 2px;
  369. display: flex;
  370. align-items: center;
  371. gap: 10px;
  372. cursor: pointer;
  373. transition: all 0.1s ease;
  374. }
  375. .tree-item:hover {
  376. background: rgba(0,0,0,0.02);
  377. color: var(--ink);
  378. }
  379. .tree-item.active {
  380. background: var(--primary-light);
  381. color: var(--primary-deep);
  382. font-weight: 500;
  383. }
  384. .content-area {
  385. flex: 1;
  386. background: #fffef8;
  387. padding: 48px 72px;
  388. overflow: auto;
  389. }
  390. .content-inner {
  391. max-width: 680px;
  392. margin: 0 auto;
  393. }
  394. .editor-header {
  395. display: flex;
  396. align-items: center;
  397. justify-content: space-between;
  398. margin-bottom: 32px;
  399. padding-bottom: 16px;
  400. border-bottom: 1px solid var(--rule);
  401. }
  402. .editor-title {
  403. font-family: "Songti SC", "Noto Serif SC", "SimSun", serif;
  404. font-size: 1.625rem;
  405. font-weight: 700;
  406. margin: 0;
  407. color: var(--ink);
  408. letter-spacing: 0.04em;
  409. }
  410. .editor-meta {
  411. font-size: 0.75rem;
  412. color: var(--muted);
  413. }
  414. .content-area p {
  415. color: var(--ink);
  416. line-height: 2;
  417. font-size: 1rem;
  418. margin: 0 0 20px;
  419. text-align: justify;
  420. }
  421. /* === Dark theme preview === */
  422. .dark-theme-frame {
  423. background: var(--bamboo-ink);
  424. border: 1px solid #2a4536;
  425. border-radius: var(--radius-lg);
  426. overflow: hidden;
  427. }
  428. .dark-interface {
  429. display: flex;
  430. height: 520px;
  431. }
  432. .dark-rail {
  433. width: 54px;
  434. background: #1c3328;
  435. border-right: 1px solid #2a4536;
  436. display: flex;
  437. flex-direction: column;
  438. align-items: center;
  439. padding: 16px 0;
  440. gap: 6px;
  441. }
  442. .dark-rail-btn {
  443. width: 38px;
  444. height: 38px;
  445. border-radius: var(--radius-sm);
  446. display: flex;
  447. align-items: center;
  448. justify-content: center;
  449. color: #8ea596;
  450. transition: all 0.12s ease;
  451. cursor: pointer;
  452. }
  453. .dark-rail-btn:hover {
  454. color: var(--bamboo-mist);
  455. background: rgba(255,255,255,0.04);
  456. }
  457. .dark-rail-btn.active {
  458. color: var(--bamboo-light);
  459. background: rgba(143, 192, 165, 0.12);
  460. }
  461. .dark-sidebar {
  462. width: 250px;
  463. background: #223b2e;
  464. border-right: 1px solid #2a4536;
  465. display: flex;
  466. flex-direction: column;
  467. }
  468. .dark-sidebar-header {
  469. padding: 18px 20px;
  470. font-weight: 600;
  471. font-size: 0.85rem;
  472. border-bottom: 1px solid #2a4536;
  473. color: var(--bamboo-mist);
  474. display: flex;
  475. align-items: center;
  476. justify-content: space-between;
  477. }
  478. .dark-tree {
  479. flex: 1;
  480. padding: 12px;
  481. overflow: auto;
  482. }
  483. .dark-tree-item {
  484. padding: 8px 10px;
  485. border-radius: var(--radius-sm);
  486. font-size: 0.8rem;
  487. color: #8ea596;
  488. margin-bottom: 2px;
  489. display: flex;
  490. align-items: center;
  491. gap: 10px;
  492. cursor: pointer;
  493. transition: all 0.1s ease;
  494. }
  495. .dark-tree-item:hover {
  496. background: rgba(255,255,255,0.03);
  497. color: var(--bamboo-mist);
  498. }
  499. .dark-tree-item.active {
  500. background: rgba(143, 192, 165, 0.12);
  501. color: var(--bamboo-light);
  502. font-weight: 500;
  503. }
  504. .dark-content-area {
  505. flex: 1;
  506. background: #1a2e24;
  507. padding: 48px 72px;
  508. overflow: auto;
  509. }
  510. .dark-content-area p {
  511. color: #d4e4d8;
  512. line-height: 2;
  513. font-size: 1rem;
  514. margin: 0 0 20px;
  515. text-align: justify;
  516. }
  517. .dark-editor-header {
  518. display: flex;
  519. align-items: center;
  520. justify-content: space-between;
  521. margin-bottom: 32px;
  522. padding-bottom: 16px;
  523. border-bottom: 1px solid #2a4536;
  524. }
  525. .dark-editor-title {
  526. font-family: "Songti SC", "Noto Serif SC", "SimSun", serif;
  527. font-size: 1.625rem;
  528. font-weight: 700;
  529. margin: 0;
  530. color: var(--bamboo-mist);
  531. letter-spacing: 0.04em;
  532. }
  533. .dark-editor-meta {
  534. font-size: 0.75rem;
  535. color: #8ea596;
  536. }
  537. /* === Settings === */
  538. .settings-interface {
  539. display: flex;
  540. height: 480px;
  541. background: var(--surface);
  542. }
  543. .settings-nav {
  544. width: 220px;
  545. background: var(--paper);
  546. border-right: 1px solid var(--rule);
  547. padding: 16px;
  548. }
  549. .settings-group {
  550. margin-bottom: 24px;
  551. }
  552. .settings-group-title {
  553. font-size: 0.65rem;
  554. color: var(--muted);
  555. text-transform: uppercase;
  556. letter-spacing: 0.1em;
  557. margin-bottom: 8px;
  558. padding: 0 10px;
  559. }
  560. .settings-item {
  561. padding: 9px 10px;
  562. border-radius: var(--radius-sm);
  563. font-size: 0.8rem;
  564. color: var(--ink-secondary);
  565. margin-bottom: 2px;
  566. cursor: pointer;
  567. transition: all 0.1s ease;
  568. }
  569. .settings-item:hover {
  570. background: rgba(0,0,0,0.03);
  571. }
  572. .settings-item.active {
  573. background: var(--primary-light);
  574. color: var(--primary-deep);
  575. font-weight: 500;
  576. }
  577. .settings-body {
  578. flex: 1;
  579. padding: 40px 48px;
  580. overflow: auto;
  581. }
  582. .setting-section {
  583. max-width: 560px;
  584. margin-bottom: 32px;
  585. }
  586. .setting-section-title {
  587. font-size: 1rem;
  588. font-weight: 600;
  589. margin-bottom: 20px;
  590. color: var(--ink);
  591. }
  592. .form-row {
  593. display: flex;
  594. align-items: center;
  595. justify-content: space-between;
  596. padding: 14px 0;
  597. border-bottom: 1px solid var(--rule);
  598. }
  599. .form-label {
  600. font-size: 0.85rem;
  601. color: var(--ink-secondary);
  602. }
  603. .form-input {
  604. width: 260px;
  605. padding: 8px 12px;
  606. border: 1px solid var(--rule-strong);
  607. border-radius: var(--radius-sm);
  608. font-size: 0.8rem;
  609. color: var(--ink);
  610. background: var(--paper-warm);
  611. }
  612. .form-input:focus {
  613. outline: none;
  614. border-color: var(--primary);
  615. }
  616. /* === Component details === */
  617. .detail-grid {
  618. display: grid;
  619. grid-template-columns: repeat(3, 1fr);
  620. gap: 20px;
  621. }
  622. @media (max-width: 900px) {
  623. .detail-grid { grid-template-columns: 1fr; }
  624. }
  625. .detail-card {
  626. background: var(--surface);
  627. border: 1px solid var(--rule);
  628. border-radius: var(--radius-md);
  629. padding: 24px;
  630. }
  631. .detail-card h4 {
  632. font-size: 0.7rem;
  633. color: var(--muted);
  634. text-transform: uppercase;
  635. letter-spacing: 0.08em;
  636. margin: 0 0 18px;
  637. font-weight: 600;
  638. }
  639. .btn-row {
  640. display: flex;
  641. flex-direction: column;
  642. gap: 10px;
  643. align-items: flex-start;
  644. }
  645. .rail-demo {
  646. display: flex;
  647. gap: 8px;
  648. }
  649. .rail-demo-btn {
  650. width: 36px;
  651. height: 36px;
  652. border-radius: var(--radius-sm);
  653. display: flex;
  654. align-items: center;
  655. justify-content: center;
  656. color: var(--muted);
  657. transition: all 0.12s ease;
  658. }
  659. .rail-demo-btn:hover {
  660. color: var(--ink);
  661. background: rgba(0,0,0,0.03);
  662. }
  663. .rail-demo-btn.active {
  664. color: var(--primary);
  665. background: var(--primary-light);
  666. }
  667. .notification-demo {
  668. background: var(--paper-warm);
  669. border: 1px solid var(--rule);
  670. border-radius: var(--radius-md);
  671. padding: 16px;
  672. }
  673. .notification-header {
  674. display: flex;
  675. align-items: center;
  676. justify-content: space-between;
  677. margin-bottom: 10px;
  678. }
  679. .notification-title {
  680. font-weight: 600;
  681. font-size: 0.85rem;
  682. color: var(--ink);
  683. }
  684. .notification-meta {
  685. font-size: 0.7rem;
  686. color: var(--muted);
  687. }
  688. .progress-subtle {
  689. height: 3px;
  690. background: var(--rule);
  691. border-radius: 2px;
  692. overflow: hidden;
  693. }
  694. .progress-subtle-fill {
  695. height: 100%;
  696. width: 58%;
  697. background: var(--primary);
  698. border-radius: 2px;
  699. }
  700. .chat-demo {
  701. display: flex;
  702. flex-direction: column;
  703. gap: 10px;
  704. }
  705. .chat-msg {
  706. max-width: 92%;
  707. padding: 14px 16px;
  708. border-radius: var(--radius-md);
  709. font-size: 0.8rem;
  710. line-height: 1.55;
  711. background: var(--paper-warm);
  712. border: 1px solid var(--rule);
  713. }
  714. .chat-msg-header {
  715. display: flex;
  716. align-items: center;
  717. gap: 8px;
  718. margin-bottom: 6px;
  719. }
  720. .chat-avatar {
  721. width: 18px;
  722. height: 18px;
  723. border-radius: 50%;
  724. background: var(--primary);
  725. display: flex;
  726. align-items: center;
  727. justify-content: center;
  728. color: white;
  729. font-size: 7px;
  730. font-weight: 700;
  731. }
  732. .chat-name {
  733. font-size: 0.7rem;
  734. font-weight: 600;
  735. color: var(--ink);
  736. }
  737. .chat-actions-refined {
  738. display: flex;
  739. gap: 14px;
  740. margin-top: 10px;
  741. }
  742. .chat-action-refined {
  743. font-size: 0.7rem;
  744. color: var(--primary);
  745. cursor: pointer;
  746. transition: opacity 0.12s ease;
  747. }
  748. .chat-action-refined:hover {
  749. opacity: 0.7;
  750. }
  751. /* === Logo options === */
  752. .logo-options {
  753. display: grid;
  754. grid-template-columns: repeat(3, 1fr);
  755. gap: 24px;
  756. margin-bottom: 48px;
  757. }
  758. @media (max-width: 900px) {
  759. .logo-options { grid-template-columns: 1fr; }
  760. }
  761. .logo-option {
  762. background: var(--surface);
  763. border: 1px solid var(--rule);
  764. border-radius: var(--radius-md);
  765. padding: 32px;
  766. text-align: center;
  767. }
  768. .logo-option-preview {
  769. width: 80px;
  770. height: 80px;
  771. margin: 0 auto 20px;
  772. background: var(--primary);
  773. border-radius: var(--radius-md);
  774. display: flex;
  775. align-items: center;
  776. justify-content: center;
  777. }
  778. .logo-option-preview svg {
  779. width: 48px;
  780. height: 48px;
  781. stroke: white;
  782. stroke-width: 2;
  783. fill: none;
  784. stroke-linecap: round;
  785. stroke-linejoin: round;
  786. }
  787. .logo-option h4 {
  788. font-size: 0.9rem;
  789. font-weight: 600;
  790. margin: 0 0 8px;
  791. color: var(--ink);
  792. }
  793. .logo-option p {
  794. font-size: 0.78rem;
  795. color: var(--muted);
  796. line-height: 1.6;
  797. margin: 0;
  798. }
  799. /* === Notes === */
  800. .notes {
  801. background: var(--surface);
  802. border: 1px solid var(--rule);
  803. border-radius: var(--radius-md);
  804. padding: 28px;
  805. margin-top: 40px;
  806. }
  807. .notes h3 {
  808. font-size: 1rem;
  809. font-weight: 600;
  810. margin: 0 0 12px;
  811. color: var(--ink);
  812. }
  813. .notes ul {
  814. margin: 0;
  815. padding-left: 18px;
  816. color: var(--ink-secondary);
  817. font-size: 0.85rem;
  818. line-height: 1.8;
  819. }
  820. footer {
  821. padding: 48px 0;
  822. color: var(--muted);
  823. font-size: 0.8rem;
  824. border-top: 1px solid var(--rule);
  825. margin-top: 40px;
  826. }
  827. </style>
  828. </head>
  829. <body>
  830. <div class="container">
  831. <header>
  832. <h1>青幕AI写作 · UI 高保真设计稿 v4</h1>
  833. <p>基于「方案四 · 苍苍竹色」重新构建品牌与界面系统。竹青色系替代原灰青 LOGO,深色模式采用竹墨底,编辑区使用竹编暖纸色,整体呈现竹林清韵的东方书写气质。</p>
  834. </header>
  835. <!-- Color rationale -->
  836. <section class="section">
  837. <h2 class="section-title">色彩体系</h2>
  838. <p class="section-desc">苍苍竹色以竹青 #3E6B58 为品牌主色,搭配翠竹、新篁、竹叶形成完整色阶,金竹作为点缀色承担高亮与徽章功能。</p>
  839. <div class="color-rationale">
  840. <div class="color-swatch">
  841. <div class="swatch-dot" style="background: #1C3328;"></div>
  842. <div class="swatch-info">
  843. <div class="swatch-name">竹墨</div>
  844. <div>#1C3328 · 深色底</div>
  845. </div>
  846. </div>
  847. <div class="color-swatch">
  848. <div class="swatch-dot" style="background: #2D5040;"></div>
  849. <div class="swatch-info">
  850. <div class="swatch-name">翠竹</div>
  851. <div>#2D5040 · 深色主调</div>
  852. </div>
  853. </div>
  854. <div class="color-swatch">
  855. <div class="swatch-dot" style="background: #3E6B58;"></div>
  856. <div class="swatch-info">
  857. <div class="swatch-name">竹青</div>
  858. <div>#3E6B58 · LOGO 主色</div>
  859. </div>
  860. </div>
  861. <div class="color-swatch">
  862. <div class="swatch-dot" style="background: #528A72;"></div>
  863. <div class="swatch-info">
  864. <div class="swatch-name">新篁</div>
  865. <div>#528A72 · 强调色</div>
  866. </div>
  867. </div>
  868. <div class="color-swatch">
  869. <div class="swatch-dot" style="background: #8FC0A5;"></div>
  870. <div class="swatch-info">
  871. <div class="swatch-name">竹叶</div>
  872. <div>#8FC0A5 · 辅助色</div>
  873. </div>
  874. </div>
  875. <div class="color-swatch">
  876. <div class="swatch-dot" style="background: #DAF0E2;"></div>
  877. <div class="swatch-info">
  878. <div class="swatch-name">竹露</div>
  879. <div>#DAF0E2 · 极浅背景</div>
  880. </div>
  881. </div>
  882. <div class="color-swatch">
  883. <div class="swatch-dot" style="background: #EDE8D8; border-color: #c8c0b0;"></div>
  884. <div class="swatch-info">
  885. <div class="swatch-name">竹编</div>
  886. <div>#EDE8D8 · 暖底色</div>
  887. </div>
  888. </div>
  889. <div class="color-swatch">
  890. <div class="swatch-dot" style="background: #C8A96E;"></div>
  891. <div class="swatch-info">
  892. <div class="swatch-name">金竹</div>
  893. <div>#C8A96E · 点缀高亮</div>
  894. </div>
  895. </div>
  896. </div>
  897. </section>
  898. <!-- Logo design direction -->
  899. <section class="section">
  900. <h2 class="section-title">新 LOGO 方向</h2>
  901. <p class="section-desc">LOGO 同步从灰青调整为竹青色系,提供三个方向供选:竹节抽象、竹叶变形、青字图形。均使用 SVG 线条风格,避免拟物渐变。</p>
  902. <div class="logo-options">
  903. <div class="logo-option">
  904. <div class="logo-option-preview">
  905. <svg viewBox="0 0 48 48">
  906. <path d="M24 6v36"/>
  907. <path d="M24 14c-8 4-8 12 0 16"/>
  908. <path d="M24 22c8 4 8 12 0 16"/>
  909. <path d="M18 10h12"/>
  910. <path d="M18 38h12"/>
  911. </svg>
  912. </div>
  913. <h4>方向 A · 竹节</h4>
  914. <p>以竹节为骨,两笔弧线象征竹叶,结构稳定,适合应用图标与启动图标。</p>
  915. </div>
  916. <div class="logo-option">
  917. <div class="logo-option-preview">
  918. <svg viewBox="0 0 48 48">
  919. <path d="M24 4v32"/>
  920. <path d="M24 14l-10 8"/>
  921. <path d="M24 20l10 8"/>
  922. <path d="M24 26l-8 6"/>
  923. <path d="M20 42h8"/>
  924. </svg>
  925. </div>
  926. <h4>方向 B · 竹叶</h4>
  927. <p>单竹干配三片竹叶,姿态舒展,辨识度最高,适合小尺寸显示。</p>
  928. </div>
  929. <div class="logo-option">
  930. <div class="logo-option-preview">
  931. <svg viewBox="0 0 48 48">
  932. <rect x="8" y="8" width="32" height="32" rx="6"/>
  933. <path d="M16 16v16"/>
  934. <path d="M16 18h10"/>
  935. <path d="M20 24h8"/>
  936. <path d="M18 32h12"/>
  937. </svg>
  938. </div>
  939. <h4>方向 C · 青字</h4>
  940. <p>以汉字「青」为图形骨架,线条化后嵌入圆角方块,品牌名与图形强关联。</p>
  941. </div>
  942. </div>
  943. <div class="notes">
  944. <h3>LOGO 调整建议</h3>
  945. <ul>
  946. <li>推荐方向 B「竹叶」,图形简洁、记忆点强,与「青幕」名称中的自然意象一致</li>
  947. <li>主色使用竹青 #3E6B58,深色模式可切换为竹叶 #8FC0A5 或竹露 #DAF0E2</li>
  948. <li>删除原 LOGO 的拟物渐变与 3D 高光,改为扁平 SVG 线条风格</li>
  949. <li>保留小尺寸下的清晰轮廓,确保在 16×16 任务栏图标中仍可识别</li>
  950. </ul>
  951. </div>
  952. </section>
  953. <!-- Welcome -->
  954. <section class="section">
  955. <h2 class="section-title">欢迎页</h2>
  956. <p class="section-desc">左侧保留大面积留白与竹青色 LOGO,右侧最近项目区域使用纯白卡片,整体底色为竹编暖纸色。</p>
  957. <div class="frame-label">苍苍竹色主题 · 欢迎页</div>
  958. <div class="frame">
  959. <div class="welcome-asymmetric">
  960. <div class="welcome-left">
  961. <div class="welcome-top">
  962. <div class="logo-mark">
  963. <svg viewBox="0 0 48 48">
  964. <path d="M24 4v32"/>
  965. <path d="M24 14l-10 8"/>
  966. <path d="M24 20l10 8"/>
  967. <path d="M24 26l-8 6"/>
  968. <path d="M20 42h8"/>
  969. </svg>
  970. </div>
  971. <div class="welcome-title-block">
  972. <h2>青幕AI写作</h2>
  973. <div class="subtitle">面向长篇小说的 AI 写作桌面端系统</div>
  974. </div>
  975. </div>
  976. <div class="welcome-actions">
  977. <button class="btn btn-primary">新建小说</button>
  978. <button class="btn btn-secondary">打开项目</button>
  979. <button class="btn btn-secondary">恢复数据</button>
  980. </div>
  981. </div>
  982. <div class="welcome-right">
  983. <div class="recent-header">
  984. <span class="recent-title">最近项目</span>
  985. <span class="recent-more">查看全部</span>
  986. </div>
  987. <div class="recent-item">
  988. <div class="recent-item-title">都市异能录</div>
  989. <div class="recent-item-meta">D:\Works\都市异能录 · 2 小时前</div>
  990. </div>
  991. <div class="recent-item">
  992. <div class="recent-item-title">星海远航</div>
  993. <div class="recent-item-meta">D:\Works\星海远航 · 昨天</div>
  994. </div>
  995. <div class="recent-item">
  996. <div class="recent-item-title">山河故人</div>
  997. <div class="recent-item-meta">D:\Works\山河故人 · 3 天前</div>
  998. </div>
  999. <div class="empty-tip">
  1000. 提示:使用 Ctrl+N 可快速新建小说,Ctrl+O 打开已有项目。
  1001. </div>
  1002. </div>
  1003. </div>
  1004. </div>
  1005. </section>
  1006. <!-- Main interface light -->
  1007. <section class="section">
  1008. <h2 class="section-title">主界面 · 浅色模式</h2>
  1009. <p class="section-desc">三栏布局保留,图标栏与章节库使用竹编暖色底,写作区使用米白编辑纸,激活态使用竹青浅色背景。</p>
  1010. <div class="frame-label">苍苍竹色主题 · 写作区(浅色)</div>
  1011. <div class="frame">
  1012. <div class="main-interface">
  1013. <div class="rail">
  1014. <div class="rail-btn active">
  1015. <svg class="icon" viewBox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
  1016. </div>
  1017. <div class="rail-btn">
  1018. <svg class="icon" viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
  1019. </div>
  1020. <div class="rail-btn">
  1021. <svg class="icon" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>
  1022. </div>
  1023. <div class="rail-btn">
  1024. <svg class="icon" viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="9" y1="21" x2="9" y2="9"/></svg>
  1025. </div>
  1026. <div style="flex:1"></div>
  1027. <div class="rail-btn">
  1028. <svg class="icon" viewBox="0 0 24 24"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
  1029. </div>
  1030. </div>
  1031. <div class="sidebar">
  1032. <div class="sidebar-header">
  1033. 章节库
  1034. <svg class="icon icon-sm" viewBox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
  1035. </div>
  1036. <div class="tree">
  1037. <div class="tree-item">
  1038. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
  1039. 第一卷:觉醒
  1040. </div>
  1041. <div class="tree-item active">
  1042. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
  1043. 第1章 异变
  1044. </div>
  1045. <div class="tree-item">
  1046. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
  1047. 第2章 初识
  1048. </div>
  1049. <div class="tree-item">
  1050. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
  1051. 第二卷:成长
  1052. </div>
  1053. <div class="tree-item">
  1054. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
  1055. 第3章 试炼
  1056. </div>
  1057. </div>
  1058. </div>
  1059. <div class="content-area">
  1060. <div class="content-inner">
  1061. <div class="editor-header">
  1062. <h1 class="editor-title">第1章 异变</h1>
  1063. <span class="editor-meta">1,248 字 · 自动保存于 14:32</span>
  1064. </div>
  1065. <p>夜色深沉,城市的霓虹灯在雨幕中晕染成模糊的光斑。林默站在天桥上,望着脚下川流不息的车河,手中的咖啡早已凉透。</p>
  1066. <p>他不知道,从这一刻起,自己的命运将被彻底改写。</p>
  1067. <p>一道闪电划破天际,伴随着震耳欲聋的雷鸣。林默只觉得后颈一阵刺痛,仿佛有什么东西正从他的脊椎深处苏醒。</p>
  1068. </div>
  1069. </div>
  1070. </div>
  1071. </div>
  1072. </section>
  1073. <!-- Main interface dark -->
  1074. <section class="section">
  1075. <h2 class="section-title">主界面 · 深色模式</h2>
  1076. <p class="section-desc">方案四的竹墨 #1C3328 是六套方案中最出色的深色底,配合竹露文字色,形成深夜竹林般的沉浸式写作氛围。</p>
  1077. <div class="frame-label">苍苍竹色主题 · 写作区(深色)</div>
  1078. <div class="dark-theme-frame">
  1079. <div class="dark-interface">
  1080. <div class="dark-rail">
  1081. <div class="dark-rail-btn active">
  1082. <svg class="icon" viewBox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
  1083. </div>
  1084. <div class="dark-rail-btn">
  1085. <svg class="icon" viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
  1086. </div>
  1087. <div class="dark-rail-btn">
  1088. <svg class="icon" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>
  1089. </div>
  1090. <div class="dark-rail-btn">
  1091. <svg class="icon" viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="9" y1="21" x2="9" y2="9"/></svg>
  1092. </div>
  1093. <div style="flex:1"></div>
  1094. <div class="dark-rail-btn">
  1095. <svg class="icon" viewBox="0 0 24 24"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
  1096. </div>
  1097. </div>
  1098. <div class="dark-sidebar">
  1099. <div class="dark-sidebar-header">
  1100. 章节库
  1101. <svg class="icon icon-sm" viewBox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
  1102. </div>
  1103. <div class="dark-tree">
  1104. <div class="dark-tree-item">
  1105. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
  1106. 第一卷:觉醒
  1107. </div>
  1108. <div class="dark-tree-item active">
  1109. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
  1110. 第1章 异变
  1111. </div>
  1112. <div class="dark-tree-item">
  1113. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
  1114. 第2章 初识
  1115. </div>
  1116. <div class="dark-tree-item">
  1117. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
  1118. 第二卷:成长
  1119. </div>
  1120. <div class="dark-tree-item">
  1121. <svg class="icon icon-sm" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
  1122. 第3章 试炼
  1123. </div>
  1124. </div>
  1125. </div>
  1126. <div class="dark-content-area">
  1127. <div class="content-inner">
  1128. <div class="dark-editor-header">
  1129. <h1 class="dark-editor-title">第1章 异变</h1>
  1130. <span class="dark-editor-meta">1,248 字 · 自动保存于 14:32</span>
  1131. </div>
  1132. <p>夜色深沉,城市的霓虹灯在雨幕中晕染成模糊的光斑。林默站在天桥上,望着脚下川流不息的车河,手中的咖啡早已凉透。</p>
  1133. <p>他不知道,从这一刻起,自己的命运将被彻底改写。</p>
  1134. <p>一道闪电划破天际,伴随着震耳欲聋的雷鸣。林默只觉得后颈一阵刺痛,仿佛有什么东西正从他的脊椎深处苏醒。</p>
  1135. </div>
  1136. </div>
  1137. </div>
  1138. </div>
  1139. </section>
  1140. <!-- Settings -->
  1141. <section class="section">
  1142. <h2 class="section-title">设置页</h2>
  1143. <p class="section-desc">左侧分组导航使用竹编暖底,右侧表单卡片化。保持竹青的点缀,同时避免过度装饰。</p>
  1144. <div class="frame-label">苍苍竹色主题 · 设置页</div>
  1145. <div class="frame">
  1146. <div class="settings-interface">
  1147. <div class="settings-nav">
  1148. <div class="settings-group">
  1149. <div class="settings-group-title">AI 配置</div>
  1150. <div class="settings-item active">模型设置</div>
  1151. <div class="settings-item">嵌入模型</div>
  1152. <div class="settings-item">网络代理</div>
  1153. </div>
  1154. <div class="settings-group">
  1155. <div class="settings-group-title">应用</div>
  1156. <div class="settings-item">界面设置</div>
  1157. <div class="settings-item">小说设置</div>
  1158. <div class="settings-item">维护</div>
  1159. </div>
  1160. </div>
  1161. <div class="settings-body">
  1162. <div class="setting-section">
  1163. <div class="setting-section-title">LLM 提供商</div>
  1164. <div class="form-row">
  1165. <span class="form-label">API 提供商</span>
  1166. <input class="form-input" value="OpenAI" readonly>
  1167. </div>
  1168. <div class="form-row">
  1169. <span class="form-label">模型</span>
  1170. <input class="form-input" value="gpt-4.1-mini" readonly>
  1171. </div>
  1172. <div class="form-row">
  1173. <span class="form-label">API Key</span>
  1174. <input class="form-input" value="sk-••••••••" type="password" readonly>
  1175. </div>
  1176. </div>
  1177. <div class="setting-section">
  1178. <div class="setting-section-title">生成参数</div>
  1179. <div class="form-row">
  1180. <span class="form-label">最大上下文长度</span>
  1181. <input class="form-input" value="204800" readonly>
  1182. </div>
  1183. <div class="form-row">
  1184. <span class="form-label">温度</span>
  1185. <input class="form-input" value="0.7" readonly>
  1186. </div>
  1187. </div>
  1188. </div>
  1189. </div>
  1190. </div>
  1191. </section>
  1192. <!-- Component details -->
  1193. <section class="section">
  1194. <h2 class="section-title">关键组件细节</h2>
  1195. <p class="section-desc">按钮、图标栏、通知、聊天消息均采用竹青色系,金竹用于重要徽章与高亮,保持一致的克制质感。</p>
  1196. <div class="detail-grid">
  1197. <div class="detail-card">
  1198. <h4>按钮层次</h4>
  1199. <div class="btn-row">
  1200. <button class="btn btn-primary">主要操作</button>
  1201. <button class="btn btn-secondary">次要操作</button>
  1202. <button class="btn btn-gold">高亮操作</button>
  1203. <button class="btn" style="background: transparent; color: var(--muted); padding-left: 0;">文字按钮</button>
  1204. </div>
  1205. </div>
  1206. <div class="detail-card">
  1207. <h4>图标栏状态</h4>
  1208. <div class="rail-demo">
  1209. <div class="rail-demo-btn active">
  1210. <svg class="icon" viewBox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
  1211. </div>
  1212. <div class="rail-demo-btn">
  1213. <svg class="icon" viewBox="0 0 24 24"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>
  1214. </div>
  1215. <div class="rail-demo-btn">
  1216. <svg class="icon" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>
  1217. </div>
  1218. </div>
  1219. <p style="font-size: 0.75rem; color: var(--muted); margin-top: 14px;">激活态使用 8% 竹青透明背景</p>
  1220. </div>
  1221. <div class="detail-card">
  1222. <h4>后台任务通知</h4>
  1223. <div class="notification-demo">
  1224. <div class="notification-header">
  1225. <span class="notification-title">正在生成章节大纲</span>
  1226. <span class="notification-meta">58%</span>
  1227. </div>
  1228. <div class="progress-subtle">
  1229. <div class="progress-subtle-fill"></div>
  1230. </div>
  1231. </div>
  1232. </div>
  1233. <div class="detail-card">
  1234. <h4>AI 消息</h4>
  1235. <div class="chat-demo">
  1236. <div class="chat-msg">
  1237. <div class="chat-msg-header">
  1238. <div class="chat-avatar">AI</div>
  1239. <span class="chat-name">青幕助手</span>
  1240. </div>
  1241. 已生成本章续写建议,你可以直接复制或保存到章节库。
  1242. <div class="chat-actions-refined">
  1243. <span class="chat-action-refined">复制</span>
  1244. <span class="chat-action-refined">保存</span>
  1245. <span class="chat-action-refined">重试</span>
  1246. </div>
  1247. </div>
  1248. </div>
  1249. </div>
  1250. <div class="detail-card">
  1251. <h4>徽章 / 标签</h4>
  1252. <div class="btn-row">
  1253. <span style="display:inline-block; padding: 4px 10px; border-radius: var(--radius-sm); background: var(--primary-light); color: var(--primary-deep); font-size: 0.75rem; font-weight: 500;">已完成</span>
  1254. <span style="display:inline-block; padding: 4px 10px; border-radius: var(--radius-sm); background: rgba(200, 169, 110, 0.15); color: #9a7d4a; font-size: 0.75rem; font-weight: 500;">VIP</span>
  1255. <span style="display:inline-block; padding: 4px 10px; border-radius: var(--radius-sm); background: rgba(82, 138, 114, 0.12); color: var(--accent); font-size: 0.75rem; font-weight: 500;">新篁</span>
  1256. </div>
  1257. </div>
  1258. <div class="detail-card">
  1259. <h4>表单焦点</h4>
  1260. <input class="form-input" value="青幕AI写作" style="width: 100%;">
  1261. <p style="font-size: 0.75rem; color: var(--muted); margin-top: 10px;">聚焦边框使用竹青 #3E6B58</p>
  1262. </div>
  1263. </div>
  1264. </section>
  1265. <!-- Notes -->
  1266. <section class="section">
  1267. <h2 class="section-title">设计落地说明</h2>
  1268. <div class="notes">
  1269. <h3>相比 v3 的改动</h3>
  1270. <ul>
  1271. <li>主色从 #0d7377(东方青)调整为 #3E6B58(竹青),色相从蓝青转向绿青</li>
  1272. <li>新增金竹 #C8A96E 作为点缀色,用于 VIP、徽章、重要提示</li>
  1273. <li>深色模式从墨青调整为竹墨 #1C3328,呈现更温润的暗色底</li>
  1274. <li>编辑区背景从宣纸白调整为竹编暖色 #EDE8D8,更接近竹纸质感</li>
  1275. <li>提供三个新 LOGO 方向,推荐方向 B「竹叶」</li>
  1276. <li>保持无渐变、无 emoji、小圆角、SVG 线条图标的设计原则</li>
  1277. </ul>
  1278. </div>
  1279. <div class="notes" style="margin-top: 24px;">
  1280. <h3>代码落地方向</h3>
  1281. <ul>
  1282. <li>在 Tailwind 配置或 CSS 变量中定义 bamboo-* 色阶</li>
  1283. <li>将 shadcn/ui 的 primary、accent、muted 映射到竹青色系</li>
  1284. <li>深色模式单独定义 bamboo-ink 背景与 bamboo-mist 文字色</li>
  1285. <li>LOGO 使用 SVG 替换现有拟物图标,确保多尺寸清晰</li>
  1286. <li>建议先替换颜色和 LOGO,再逐步调整组件细节</li>
  1287. </ul>
  1288. </div>
  1289. </section>
  1290. <footer>
  1291. <p>青幕AI写作 UI 设计优化方案 · 高保真参考稿 v4 · 2026-06-29</p>
  1292. <p style="margin-top: 6px;">基于苍苍竹色 · 东方书写美学</p>
  1293. </footer>
  1294. </div>
  1295. </body>
  1296. </html>