/* 全局样式入口:主题映射、基础元素、全局命名页面/演示布局及响应式覆盖。当前 CSS Modules 与这些规则并存,后置同名选择器仍会覆盖前文;阅读时要同时检查选择器优先级与媒体条件。本文件只描述呈现,不拥有画布模型或业务状态。 */ /* 引入 Tailwind 的基础与工具样式;本文件后续规则继续参与层叠,不按组件自动隔离。 */ @import "tailwindcss"; /* 把语义颜色/圆角暴露给 Tailwind 工具类;背景/前景/主色引用下方运行时 CSS 变量。 */ @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-primary: var(--primary); --color-primary-foreground: #fff; --color-secondary: #f1ebe5; --color-secondary-foreground: #49372e; --color-muted: #f3efea; --color-muted-foreground: #85766b; --color-accent: #f1e7de; --color-accent-foreground: #49372e; --color-border: #ded5cc; --color-input: #d3c3b6; --color-ring: #9d7d66; --color-destructive: #af4439; --color-popover: #fffcf9; --color-popover-foreground: #38281f; --radius-md: 6px; --radius-lg: 10px; } /* 应用默认暖色主题值;这里不是按 workspace 存储的用户配置。 */ :root { --background: #fffcf9; --foreground: #38281f; --primary: #78523f; } /* 所有元素默认 border-box,让声明宽高包含 padding 与 border。 */ * { box-sizing: border-box; } /* 锚点滚动采用平滑动画并预留顶部 90px;减少动态效果查询在后部关闭平滑滚动。 */ html { scroll-behavior: smooth; scroll-padding-top: 90px; } /* 设置页面默认字体、字号、底色和抗锯齿;局部组件可另行覆盖。 */ body { margin: 0; color: var(--foreground); background: var(--background); font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased; } /* 常见交互元素采用 manipulation;具体画布手势仍在局部样式/处理器内禁用默认行为。 */ button, a, input, textarea { touch-action: manipulation; } /* 按钮和链接默认对背景、颜色及 transform 做 0.2s 过渡。 */ button, a { transition: background 0.2s, color 0.2s, transform 0.2s; } /* 普通按钮用 pointer;默认 disabled 为 wait,局部不可用按钮可覆盖成 not-allowed。 */ button { cursor: pointer; } button:disabled { cursor: wait; } /* 清除链接默认下划线,后面按用途为部分文字按钮重新加下划线。 */ a { text-decoration: none; } /* 键盘可见焦点统一外描边;输入框单独使用边色和淡阴影表达聚焦。 */ button:focus-visible, a:focus-visible { outline: 2px solid #a47764; outline-offset: 4px; } /* 清除输入默认 outline,下面的 focus 规则改用自定义边框/阴影。 */ input, textarea { outline: none; } input:focus, textarea:focus { border-color: #78523f !important; box-shadow: 0 0 0 3px #78523f12; } /* 标题、正文和 figure 清除默认 margin,段落间距由各页面规则提供。 */ h1, h2, h3, p, figure { margin: 0; } /* 图片默认不超过父容器宽度且保持内容比例;头像等局部场景可改 object-fit。 */ img { max-width: 100%; object-fit: contain; } /* 按钮中的 SVG 不随 flex 收缩,避免控件挤压导致图标变窄。 */ button svg { flex-shrink: 0; } /* 正文居中并限制为 1248px,桌面两侧至少留总计 112px;断点规则另行缩小边距。 */ .container { width: min(1248px, calc(100% - 112px)); margin: auto; } /* 全局品牌行保持图标/名称/副标横排不换行,图标不压缩。 */ .brand { display: inline-flex; align-items: center; gap: 9px; font-size: 19px; font-weight: 700; white-space: nowrap; } .brand img { flex-shrink: 0; } .brand small { font-size: 13px; font-weight: 500; margin-left: 3px; letter-spacing: -0.2px; } /* 深色背景上的品牌使用浅文字,并提高图片亮度。 */ .brand-light { color: #fff9f4; } .brand-light img { filter: brightness(1.6); } /* 章节引题采用小字号和较大字距;登录/工作区等局部规则会覆盖颜色与字号。 */ .eyebrow { font-size: 10px; line-height: 1.7; letter-spacing: 1.7px; font-weight: 500; color: #8b7667; } /* 导航的初始 flex 布局和背景;文件末尾同名规则将 display 改为 grid。 */ .site-nav { height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(56px, calc((100% - 1248px) / 2)); border-bottom: 1px solid #e7ddd25c; background: #fff9f2; gap: 26px; } /* 导航链接横排、悬停加深颜色;最终水平对齐还受末尾 justify-content:center 影响。 */ .site-nav nav { display: flex; gap: 32px; font-size: 12px; color: #6f6259; } .site-nav nav a:hover { color: #38281f; } /* 导航右侧动作横排并禁止标签/链接换行;末尾为 grid 布局补充 justify-self。 */ .nav-actions { display: flex; align-items: center; gap: 26px; font-size: 12px; } .nav-actions [data-slot], .nav-actions a { white-space: nowrap; } /* 全局命名的 landing 表面裁剪溢出,以下 hero/preview 等样式与局部 LandingPage CSS Module 分开。 */ .landing { overflow: hidden; background: #fff9f2; } /* 旧首屏标题容器提供定位参照和顶部留白,文案与操作区由后续规则排版。 */ .hero { position: relative; padding-top: 90px; } .hero .eyebrow { display: flex; align-items: center; gap: 8px; } /* 引题中的圆点只提供状态装饰,业务状态不能由颜色规则推断。 */ .status-dot { height: 6px; width: 6px; display: inline-block; border-radius: 50%; background: #9e805f; } /* 初始标题使用 clamp 限制大小;后置同名规则补充 fit-content 宽度。 */ .hero h1 { font-size: clamp(42px, 4.5vw, 66px); font-weight: 650; letter-spacing: -3px; line-height: 1.45; margin-top: 24px; position: relative; display: inline-block; } /* 标题强调文字初始颜色;最终装饰改由末尾 span 伪元素提供。 */ .hero h1 span { color: #916e55; } /* 旧装饰线的位置与尺寸,末尾最终会隐藏此元素,改绘 span:after。 */ .hero-stroke { position: absolute; bottom: -1px; right: -7px; width: 215px; height: 20px; color: #bca381; transform: rotate(-3deg); } /* 首屏说明文字用较宽行高与弱色,和标题拉开距离。 */ .hero-copy { color: #847264; font-size: 14px; line-height: 1.9; margin-top: 23px; } /* 主动作与文字链接横排;首个主链接/按钮设置相同最小宽度。 */ .hero-actions { display: flex; align-items: center; gap: 32px; margin-top: 31px; } .hero-actions > a { font-size: 12px; } /* 文字链接和箭头并排,悬停只改变文字颜色。 */ .text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 500; } .text-link:hover { color: #9d6a48; } .hero-actions button, .hero-actions > a:first-child { min-width: 155px; } /* 人物展示用五列等宽网格,第二/第四项略错位,图注居中且默认不换行。 */ .people-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 34px; margin-top: 65px; } .people-row figure { min-width: 0; } .person-slot { display: flex; justify-content: center; } .person-slot img { width: 200px; height: 220px; } .people-row figure:nth-child(2) { padding-top: 11px; } .people-row figure:nth-child(4) { padding-top: 7px; } .people-row figcaption { display: flex; gap: 12px; align-items: center; justify-content: center; font-size: 11px; margin-top: 20px; color: #7f6c5c; white-space: nowrap; } .people-row figcaption span { font-size: 9px; color: #b8a595; font-family: monospace; } /* 首屏底注用细上边线分隔,两端文字左右对齐。 */ .hero-footnote { display: flex; justify-content: space-between; margin-top: 43px; border-top: 1px solid #e8dfd4; padding: 23px 0 30px; font-size: 9px; letter-spacing: 1.3px; color: #9a8776; } /* 产品空间章节采用浅色表面和上下留白;标题区将标题/说明分置两端。 */ .space-section { padding: 110px 0; background: #fffdf9; border-top: 1px solid #eee5da; } .section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 46px; } .section-heading p { font-size: 13px; line-height: 1.9; color: #8a786b; margin-bottom: 5px; } /* 全局二级标题默认字号/字距;各页面和窄屏查询按更具体规则覆盖。 */ h2 { font-size: 38px; line-height: 1.55; letter-spacing: -1.4px; font-weight: 600; } .section-heading h2 { margin-top: 18px; } /* 展示预览采用 205px 侧栏加弹性画布,两列共高 550px 并裁剪内部装饰。 */ .product-preview { border: 1px solid #dfd8ce; box-shadow: 0 20px 70px #5d453013; display: grid; grid-template-columns: 205px 1fr; border-radius: 10px; overflow: hidden; height: 550px; background: #faf9f6; } /* 展示侧栏内部缩小品牌/文字,底注固定到底部,active 行用独立底色。 */ .preview-sidebar { position: relative; background: #f3f0e9; border-right: 1px solid #e3ddd4; padding: 25px 18px; font-size: 11px; } .preview-sidebar .brand { font-size: 14px; margin-bottom: 28px; } .preview-sidebar .brand img { width: 27px; height: 27px; } .preview-sidebar .brand small { font-size: 9px; } .preview-sidebar > p { margin-bottom: 28px; display: flex; justify-content: space-between; } .preview-sidebar > div { padding: 10px 6px; border-radius: 4px; color: #847467; } .preview-sidebar .preview-active { background: #e8e1d7; color: #634b3c; } .preview-sidebar > small { position: absolute; bottom: 22px; font-size: 9px; color: #a79786; } /* 展示画布以径向渐变平铺点阵,为便签、图稿和工具条提供相对定位。 */ .preview-canvas { position: relative; overflow: hidden; background-color: #fcfbf8; background-image: radial-gradient(#c8beb0 0.65px, transparent 0.65px); background-size: 18px 18px; } /* 预览顶部信息栏,span 浮到右侧。 */ .preview-bar { height: 45px; background: #fffdf9e6; border-bottom: 1px solid #e9e3da; font-size: 10px; padding: 15px 21px; } .preview-bar span { float: right; } /* 纸张预览绝对定位、轻微旋转,以 z-index:2 盖在线条上;内部使用衬线标题。 */ .preview-note { position: absolute; left: 8%; top: 21%; background: #fffefd; border: 1px solid #dfd6c9; width: 31%; padding: 28px 25px; transform: rotate(-4deg); z-index: 2; box-shadow: 2px 6px 12px #4b362506; } .preview-note small { font-size: 8px; letter-spacing: 1.1px; color: #9a8570; } .preview-note h3 { font-family: "Songti SC", serif; font-weight: 500; font-size: 26px; line-height: 1.55; margin: 24px 0 20px; } .preview-note p { font-size: 10px; line-height: 1.9; color: #a08873; } /* 艺术预览另一方向旋转,独立设置图形/标题尺寸。 */ .preview-art { position: absolute; left: 48%; top: 18%; width: 38%; height: 255px; background: #f4e9df; padding: 25px 30px; transform: rotate(5deg); z-index: 2; } .preview-art .light-shape { width: 100%; height: 165px; } .preview-art > span { font-family: "Songti SC", serif; font-size: 20px; display: block; margin-top: 13px; } /* 共享灯光插画由椭圆径向渐变和拱形圆角绘制,并非实际图片资源。 */ .light-shape { background: radial-gradient( ellipse at 44% 70%, #fff4e5 0%, #b9967f 24%, #745748 53%, #49372e 85% ); border-radius: 150px 150px 5px 5px; } /* 便签固定相对画布比例位置,右下大型 span 作为装饰。 */ .preview-sticky { position: absolute; left: 52%; top: 65%; background: #eae9cd; padding: 20px 22px; width: 32%; font-size: 12px; line-height: 1.7; transform: rotate(-3deg); z-index: 2; } .preview-sticky > span { position: absolute; right: 15px; bottom: 10px; font-size: 40px; color: #9e9e75; } /* 展示工具条层级高于卡片;下方连接 SVG 覆盖画布但不截获指针。 */ .preview-tools { position: absolute; bottom: 18px; left: 32%; padding: 12px 22px; font-size: 16px; background: #fff; border: 1px solid #e3d9cc; border-radius: 8px; box-shadow: 0 5px 10px #58402008; z-index: 3; } .preview-connect { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; } /* 工具章节提供上下留白,两列工具卡片共用边框和元信息排版。 */ .tools-section { padding-top: 110px; padding-bottom: 110px; } .tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; } .tool-card { padding: 27px; background: #fffcf8; border: 1px solid #e2d8cd; border-radius: 7px; } .tool-meta { font-family: monospace; font-size: 10px; color: #9b8776; display: flex; justify-content: space-between; align-items: center; } .tool-card h3 { font-size: 23px; font-weight: 600; margin: 27px 0 12px; letter-spacing: -0.6px; } .tool-card p { font-size: 12px; line-height: 1.9; color: #8c7b6e; max-width: 400px; min-height: 45px; } .tool-card .text-link { margin-top: 22px; } /* 两种工具插画共用固定高度与裁剪容器,各自再定义内容。 */ .type-art, .canvas-art { height: 285px; margin-top: 25px; position: relative; overflow: hidden; } /* 排版工具插画使用大字与绝对定位装饰字形,形成层叠字样。 */ .type-art { background: #eae8d2; padding: 22px 35px; font-weight: 800; font-size: 61px; line-height: 0.95; letter-spacing: -3px; } .type-art > span { display: block; font-size: 38px; letter-spacing: -2px; font-family: Georgia, serif; font-weight: 500; margin-top: 10px; } .type-art > i { position: absolute; right: 24px; bottom: -5px; font-size: 180px; line-height: 1; color: #aaa580; font-style: normal; font-weight: 400; transform: rotate(10deg); } /* 画布工具插画使用点阵底和旋转便签;第二便签靠右,装饰字符另行定位。 */ .canvas-art { background-color: #f3eee8; background-image: radial-gradient(#c5b9a9 1px, transparent 1px); background-size: 16px 16px; } .canvas-art > span { position: absolute; padding: 23px 18px; font-size: 14px; box-shadow: 0 4px 12px #4d37220b; background: #fffdf9; border: 1px solid #e4d8c9; left: 35px; top: 44px; transform: rotate(-6deg); } .canvas-art > span:nth-of-type(2) { left: auto; right: 38px; top: 95px; transform: rotate(6deg); background: #e7e6c9; } .canvas-art > i { position: absolute; left: 40%; top: 80px; font-size: 70px; font-style: normal; font-family: serif; color: #b2987d; transform: rotate(12deg); } .canvas-art > b { position: absolute; bottom: 40px; left: 22%; font-size: 25px; font-weight: 400; font-family: "Songti SC", serif; } /* 灵感章节用独立底色/上下边线,三列图文按统一图片高度排列。 */ .ideas-section { padding: 100px 0; background: #f1eadd; border-top: 1px solid #e9dfd0; border-bottom: 1px solid #e9dfd0; } .ideas-section h2 { margin-top: 18px; } .idea-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; margin-top: 45px; } .idea-grid img { height: 100px; width: 130px; object-position: left center; margin-bottom: 15px; } .idea-grid h3 { font-size: 17px; margin-bottom: 10px; } .idea-grid p { font-size: 12px; line-height: 1.9; color: #887767; max-width: 290px; } /* 工作流初始两列布局,右侧有序列表移除默认编号,由子 span 自行呈现步骤号。 */ .workflow { padding-top: 120px; padding-bottom: 120px; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; } .workflow h2 { margin: 18px 0 24px; } .workflow p { color: #8a7768; font-size: 12px; line-height: 1.9; } .workflow .text-link { margin-top: 27px; } .workflow ol { padding: 10px 0 0; list-style: none; } .workflow li { display: flex; gap: 26px; padding: 25px 0; border-bottom: 1px solid #e4d9cc; } .workflow li > span { font-size: 13px; color: #a08a73; font-family: monospace; padding-top: 5px; } .workflow li h3 { font-size: 17px; margin-bottom: 8px; } /* FAQ 限制内容宽度,问题按钮横跨整行,答案留出底部间距。 */ .faq { max-width: 800px; padding-bottom: 110px; } .faq h2 { font-size: 29px; margin: 15px 0 33px; } .faq-item { border-top: 1px solid #e3d9ce; } .faq-item:last-child { border-bottom: 1px solid #e3d9ce; } .faq-item button { border: 0; background: none; padding: 23px 0; display: flex; justify-content: space-between; align-items: center; width: 100%; font-size: 13px; text-align: left; } .faq-item p { font-size: 12px; color: #8a796b; line-height: 1.9; padding-bottom: 25px; max-width: 640px; } /* 结尾 CTA 区域裁剪右侧大型装饰星,星形 pointer-events:none 避免遮挡动作。 */ .closing { position: relative; padding: 90px max(56px, calc((100% - 1248px) / 2)); background: #eae8cf; overflow: hidden; } .closing h2 { font-size: 44px; margin: 20px 0 23px; } .closing p { font-size: 12px; color: #8c8063; margin-bottom: 27px; } .closing-star { position: absolute; right: 12%; top: 30px; font-size: 330px; font-weight: 300; line-height: 1.2; color: #c7c4a0; transform: rotate(12deg); pointer-events: none; } /* 页脚品牌、说明和链接横排,正文 flex:1 占据余量;窄屏逐步隐藏次要信息。 */ .site-footer { display: flex; align-items: center; gap: 30px; padding: 36px max(56px, calc((100% - 1248px) / 2)); font-size: 10px; background: #fff9f2; white-space: nowrap; } .site-footer .brand { font-size: 15px; } .site-footer .brand img { width: 27px; height: 27px; } .site-footer .brand small { font-size: 10px; } .site-footer p { color: #9a8775; flex: 1; } .site-footer a:not(.brand) { display: flex; gap: 7px; align-items: center; } .site-footer > span { color: #b2a18f; font-size: 9px; } /* 登录页桌面分成 46% 品牌故事与 54% 表单;800px 以下隐藏故事并转为单区。 */ .auth-page { display: grid; grid-template-columns: 46% 54%; min-height: 100dvh; } /* 品牌故事用深渐变和最小高度,为拼贴与底部注记留出空间。 */ .auth-story { min-height: 850px; position: relative; background: linear-gradient(125deg, #211b17 8%, #634635 40%, #241e19 85%); color: #fff9f2; padding: 40px; } .auth-story > .brand small { display: block; margin-left: 0; font-size: 10px; font-weight: 400; letter-spacing: 1px; color: #c2b6ae; } /* 故事文案与上方品牌拉开距离,浅色正文适配深背景。 */ .auth-story-copy { margin-top: 105px; } .auth-story .eyebrow { color: #beaea2; font-size: 10px; } .auth-story-copy h1 { font-size: 42px; line-height: 1.5; letter-spacing: -1.5px; font-weight: 650; margin: 28px 0 22px; } .auth-story-copy > p { color: #ddd0c3; font-size: 13px; line-height: 1.9; } /* 拼贴采用相对容器,便签/图稿绝对定位并带相反旋转角。 */ .auth-collage { height: 300px; position: relative; margin-top: 40px; max-width: 500px; } /* 拼贴卡片共用尺寸、圆角和投影,后面的 auth-art 覆盖高度与配色。 */ .auth-note, .auth-art { position: absolute; width: 220px; border-radius: 16px; height: 250px; padding: 25px; box-shadow: 0 20px 30px #140c0726; } /* 便签偏左下,深底浅边;图稿位于右上,用共享 light-shape 装饰。 */ .auth-note { left: 0; top: 18px; transform: rotate(-8deg); background: #2c241f; border: 1px solid #85776c80; } .auth-note small, .auth-art small { font-size: 8px; letter-spacing: 0.8px; } .auth-note h2 { font-size: 24px; line-height: 1.6; letter-spacing: -0.8px; margin: 28px 0 20px; font-weight: 500; } .auth-note p { font-size: 10px; color: #bcada2; } /* 右侧图稿旋转并使用浅纸色,内部插画和标题单独排版。 */ .auth-art { left: 46%; top: 0; transform: rotate(8deg); height: 276px; background: #fff6ee; color: #4b382d; padding: 22px; } .auth-art .light-shape { height: 145px; margin-top: 22px; width: 100%; } .auth-art h3 { font-size: 19px; font-family: "Songti SC", serif; margin-top: 12px; } .auth-art p { font-size: 8px; color: #8f7a6b; margin-top: 8px; } /* 椭圆轨道绝对铺在拼贴区域,caption 居中;故事 footer 固定在故事列底部。 */ .auth-orbit { position: absolute; inset: 0 20px; border: 1px solid #b19b7c35; border-radius: 50%; transform: rotate(15deg); } .auth-caption { display: block; font-size: 8px; color: #bbada2; letter-spacing: 2px; text-align: center; margin-top: 6px; } .auth-story > footer { position: absolute; bottom: 24px; left: 40px; font-size: 9px; color: #ae9d90; } /* 表单列 flex 居中,返回链接绝对放在右上;表单容器限制最大宽度。 */ .auth-main { position: relative; display: flex; align-items: center; justify-content: center; padding: 100px 50px; background: #fffcf9; } .auth-back { position: absolute; right: 40px; top: 37px; display: flex; align-items: center; gap: 10px; font-size: 11px; color: #8f7b6a; } .auth-form-wrap { width: 100%; max-width: 420px; text-align: center; } .auth-form-wrap > .eyebrow { font-size: 8px; letter-spacing: 1.4px; color: #a59383; } .auth-form-wrap > h1 { font-size: 30px; font-weight: 600; letter-spacing: -1px; margin: 16px 0 8px; } .auth-form-wrap > p { font-size: 12px; color: #8e7a69; } /* 登录/注册页签平分行宽,aria-selected 决定当前白底和字体强调。 */ .auth-tabs { background: #f1e8df; border: 1px solid #e5d6c8; display: flex; gap: 4px; padding: 4px; border-radius: 8px; margin-top: 35px; margin-bottom: 26px; } .auth-tabs button { flex: 1; background: none; border: none; height: 36px; font-size: 12px; color: #a08a78; border-radius: 5px; } .auth-tabs button[aria-selected="true"] { background: #fffcf9; color: #634b3b; box-shadow: 0 1px 3px #634b3b0a; font-weight: 600; } .auth-form-wrap form { text-align: left; } /* 这是全局 form label 规则,会作用于匹配的其它表单;局部模块可按层叠覆盖。 */ form label { font-size: 12px; display: block; margin-bottom: 9px; color: #635044; } /* 认证输入和对话框输入共用高度/边框;占位色与表单直系输入间距另行定义。 */ .auth-form-wrap input, .dialog-input { height: 46px; border: 1px solid #c9b5a4; border-radius: 7px; background: transparent; padding: 0 14px; width: 100%; font-size: 13px; color: #49372e; } .auth-form-wrap input::placeholder, .dialog-input::placeholder { color: #b0a093; } .auth-form-wrap form > input { margin-bottom: 21px; } /* 密码输入右侧留出空间,显示切换按钮绝对放在输入内侧。 */ .password-field { position: relative; } .password-field input { padding-right: 45px; } .password-field button { position: absolute; right: 13px; top: 14px; color: #8c7867; line-height: 0; } /* 提交按钮占满表单宽,46px 高度用 important 保证不被普通工具类改小。 */ .auth-submit { width: 100%; margin-top: 26px; height: 46px !important; } /* 社交登录分隔线中间文字用同表面背景盖住边线。 */ .auth-divider { position: relative; margin: 28px 0 23px; border-top: 1px solid #e9ded3; } .auth-divider span { position: relative; top: -9px; padding: 0 13px; font-size: 10px; color: #ae9a86; background: #fffcf9; } /* 社交按钮等分宽度;Google/Slack 字形标记仅是外观,授权行为由组件处理。 */ .social-buttons { display: flex; gap: 12px; } .social-buttons button { flex: 1; height: 42px; } .google-mark { font-family: Arial; font-size: 17px; color: #6282a4; } .slack-mark { font-size: 24px; font-family: Arial; color: #7c586e; } /* 表单说明和 demo 链接使用更小字号,和主动作区分。 */ .auth-form-wrap > .auth-notice { font-size: 10px; line-height: 1.9; margin-top: 23px; color: #a38d79; } .demo-link { font-size: 10px; color: #a4927e; display: inline-flex; gap: 5px; align-items: center; margin-top: 22px; } /* 错误/成功共用提示尺寸,随后分别用暖红和浅绿配色表达结果。 */ .form-error, .form-success { font-size: 12px; line-height: 1.7; padding: 10px 12px; margin-top: 13px; border-radius: 5px; } .form-error { background: #faebe5; color: #a34435; } .form-success { background: #eaf0e1; color: #557042; } /* 全局 dashboard 壳体与 CSS Module workspace 壳体并存;以下 icon-rail/workspace-* 是全局命名布局。 */ .dashboard { display: flex; min-height: 100dvh; background: #fffefb; color: #38322c; } /* 左侧图标轨固定 48px 并高于侧栏,底部动作通过 auto margin 贴底。 */ .icon-rail { width: 48px; position: fixed; left: 0; top: 0; bottom: 0; background: #f6f3ee; border-right: 1px solid #e8e4df; display: flex; flex-direction: column; align-items: center; padding: 17px 4px; z-index: 30; } /* 图标轨导航纵排,hover/active 背景与底色区分。 */ .rail-nav { display: flex; flex-direction: column; gap: 7px; margin-top: 28px; } .icon-rail button { width: 35px; height: 35px; border-radius: 5px; display: flex; align-items: center; justify-content: center; color: #776a5e; } .icon-rail button:hover, .icon-rail button.active { background: #e9e1d7; } .rail-bottom { margin-top: auto; display: flex; flex-direction: column; gap: 7px; } /* 共享 UI 图片不被 flex 挤压,并以 contain 保持完整图形。 */ .ui-icon { flex-shrink: 0; object-fit: contain; } /* 全局侧栏固定在 48px 图标轨右侧,宽 235px;主内容初始偏移为两者之和 283px。 */ .workspace-sidebar { width: 235px; position: fixed; left: 48px; top: 0; bottom: 0; background: #fbf9f5; border-right: 1px solid #e8e4df; padding: 0 14px; z-index: 25; } /* 工作区切换器提供下拉菜单定位参照,长名称允许省略。 */ .workspace-switch { position: relative; border-bottom: 1px solid #e9e4dd; margin: 0 -3px; padding: 19px 0 14px; } .workspace-switch > button { display: flex; align-items: center; gap: 9px; width: 100%; font-size: 12px; text-align: left; } .workspace-switch > button > span:nth-child(2) { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* 工作区首字头像居中;下拉菜单绝对定位在切换按钮下方并提高层级。 */ .workspace-avatar { background: #e9e6cc; width: 27px; height: 27px; border-radius: 5px; display: grid; place-items: center; font-size: 16px; } /* 切换菜单内部按钮整行横排,悬停浅底,是否打开由组件决定。 */ .workspace-menu { position: absolute; top: 60px; left: 0; width: 235px; background: #fffcf9; border: 1px solid #dfd3c5; box-shadow: 0 10px 30px #3f29151c; border-radius: 8px; padding: 8px; z-index: 60; } .workspace-menu button { display: flex; gap: 8px; align-items: center; justify-content: space-between; width: 100%; padding: 10px; text-align: left; font-size: 12px; border-radius: 4px; } .workspace-menu button:hover { background: #f3eae0; } /* 用户身份行中间文字占剩余空间,小头像兼容首字占位。 */ .profile-row { display: flex; align-items: center; gap: 9px; padding: 18px 0 21px; width: 100%; font-size: 11px; } .profile-row > span:nth-child(2) { flex: 1; text-align: left; } .user-avatar { width: 24px; height: 24px; border-radius: 5px; background: #ece3d9; display: grid; place-items: center; font-size: 10px; color: #78523f; } /* 目录分组小标题与带附加操作的 flex 标题共用基准间距。 */ .sidebar-label { font-size: 9px; color: #a19588; letter-spacing: 0.7px; margin: 15px 8px 12px; } .sidebar-label-flex { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; } /* 侧栏项目整行显示,图标不收缩;hover 与 selected 背景分别表达经过与当前项。 */ .side-item { display: flex; align-items: center; gap: 10px; padding: 10px 9px; width: 100%; font-size: 11px; text-align: left; border-radius: 5px; min-height: 34px; margin: 3px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .side-item svg { flex-shrink: 0; color: #8b7c6b; } .side-item:hover { background: #f0ebe4; } .side-item.selected { background: #eee7df; color: #78523f; } /* 全局弱文字辅助类,只改变颜色。 */ .muted { color: #a49788; } /* 侧栏底部介绍绝对锚定,含边线、品牌与 demo 徽标,不参与目录流布局。 */ .sidebar-bottom { position: absolute; bottom: 21px; left: 22px; right: 22px; border-top: 1px solid #e9e3dc; padding-top: 16px; } .sidebar-bottom > p { font-size: 9px; color: #a79888; margin-bottom: 17px; } .sidebar-bottom-line { display: flex; align-items: center; justify-content: space-between; } .sidebar-bottom .brand { font-size: 11px; gap: 4px; } .sidebar-bottom .brand img { width: 22px; height: 22px; } .sidebar-bottom .brand small { font-size: 9px; } /* 小字号描边徽标仅提供演示标记外观。 */ .demo-badge { font-size: 8px; color: #a58f79; border: 1px solid #dcd0be; padding: 2px 4px; border-radius: 3px; } /* 主区预留图标轨与侧栏宽度;无侧栏分支随后仅保留 48px 图标轨。 */ .workspace-main { margin-left: 283px; width: calc(100% - 283px); min-height: 100dvh; flex: 1; } /* 根据实际 DOM 是否存在全局侧栏选择主区偏移,不能仅从业务开关推断此选择器已匹配。 */ .dashboard:not(:has(.workspace-sidebar)) .workspace-main { margin-left: 48px; width: calc(100% - 48px); } /* 全局主区头部高 63px,右侧动作组通过 margin-left:auto 靠右。 */ .workspace-header { height: 63px; border-bottom: 1px solid #eee9e2; display: flex; align-items: center; gap: 15px; padding: 0 27px; font-size: 10px; color: #8f8173; } /* 全局小按钮为 28px;与组件模块中的 IconButton 共享尺寸机制不同。 */ .icon-button { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 4px; color: #8d7f70; } .icon-button:hover { background: #f1ebe3; } /* 面包屑分隔用弱色,demo 标签另设小字号。 */ .breadcrumb { color: #d2c7b8; } .header-right { display: flex; gap: 16px; align-items: center; margin-left: auto; } .demo-label { font-size: 9px; color: #a79783; } /* 主内容居中并限宽,欢迎文案、快捷创建和图谱网格在内部顺序排布。 */ .workspace-content { max-width: 1190px; padding: 56px 64px; margin: auto; } /* 欢迎区为装饰星提供定位参照,标题与说明使用不同字号/颜色。 */ .welcome-top { position: relative; } .welcome-top .eyebrow { font-size: 8px; letter-spacing: 1.3px; color: #b09b86; } .welcome-top h1 { font-size: 29px; letter-spacing: -1px; font-weight: 550; margin: 17px 0 13px; } .welcome-top p { font-size: 12px; color: #a08f7d; } .welcome-spark { position: absolute; right: 14px; top: -12px; font-size: 85px; color: #d3c5ad; transform: rotate(10deg); font-weight: 300; } /* 两列快捷创建按钮包含图标、文字与靠右箭头,hover 上移并强调边框。 */ .quick-create { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin: 36px 0 53px; } .quick-create > button { display: flex; gap: 17px; align-items: center; text-align: left; border: 1px solid #e4dcd1; border-radius: 8px; padding: 18px; background: #fffcf8; } .quick-create > button:hover { border-color: #b69b7e; transform: translateY(-2px); box-shadow: 0 5px 12px #4f301505; } /* 快捷创建图标底块固定尺寸,peach/olive 只提供底色。 */ .quick-icon { width: 47px; height: 47px; border-radius: 8px; display: grid; place-items: center; } .peach { background: #f0e4d7; } .olive { background: #e9e8d2; } .quick-create > button h3 { font-size: 13px; font-weight: 500; } .quick-create > button p { font-size: 10px; color: #a08e7c; margin-top: 6px; } .quick-create > button > svg { margin-left: auto; color: #ad9985; } /* 文件标题和筛选动作横排;搜索输入透明无边框,宽度在响应式中逐步收缩/隐藏。 */ .files-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; } .files-heading h2 { font-size: 18px; letter-spacing: -0.5px; } .files-heading > div { display: flex; align-items: center; gap: 12px; } .board-search { display: flex; align-items: center; gap: 8px; color: #ad9b86; } .board-search input { border: 0; background: transparent; width: 135px; font-size: 10px; padding: 8px 0; } .board-search input::placeholder { color: #baa995; } /* 文件筛选页签用底部边线,active 只在当前按钮显示主色下划线。 */ .file-tabs { display: flex; gap: 25px; border-bottom: 1px solid #e9e2d8; margin: 17px 0 24px; font-size: 10px; color: #a08d7a; } .file-tabs > button { padding: 9px 0 13px; border-bottom: 2px solid transparent; } .file-tabs > button.active { border-color: #78523f; color: #78523f; } /* 图谱卡片桌面三列,断点后两列/一列;卡片 hover 上移并加阴影。 */ .board-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 21px; } .board-card { border: 1px solid #e4dcd1; border-radius: 7px; overflow: hidden; text-align: left; background: #fffdfa; transition: box-shadow 0.2s, transform 0.2s; } .board-card:hover { transform: translateY(-4px); box-shadow: 0 9px 24px #49301912; } /* 封面固定高度并裁剪装饰,cover-0/1/2 提供不同插画布局。 */ .board-cover { height: 190px; position: relative; overflow: hidden; } /* 第一封面用浅纸底与灯光渐变;标题层级高于图形,底部小字独立定位。 */ .cover-0 { background: #f0e5da; padding: 20px; } .cover-title { font-family: "Songti SC", serif; font-size: 19px; color: #80634b; position: relative; z-index: 2; } .cover-0 .light-shape { width: 70%; height: 115px; position: absolute; right: 10%; top: 48px; } .cover-small { position: absolute; bottom: 12px; font-size: 6px; letter-spacing: 1px; color: #a28c78; } /* 第二封面用衬线大字,右下装饰字符可超出裁剪区域。 */ .cover-1 { background: #eae7d2; padding: 24px; } .cover-serif { font-family: Georgia, "Songti SC", serif; font-size: 28px; line-height: 1.15; letter-spacing: -1px; color: #655b41; position: relative; z-index: 2; } .cover-serif i { font-weight: 400; color: #8e8055; } .cover-1 > b { position: absolute; right: -5px; bottom: -20px; font-size: 145px; line-height: 1; color: #c8c3a3; font-weight: 400; } /* 第三封面用浅绿底、底部标题和相互重叠的圆圈。 */ .cover-2 { background: #e4e8e1; padding: 26px 21px; } .cover-2 .cover-serif { font-size: 22px; position: absolute; bottom: 20px; } .cover-circles { display: flex; position: absolute; top: 19px; left: 47px; } .cover-circles span { width: 80px; height: 80px; border: 1px solid #a7b5a5; border-radius: 50%; margin-left: -25px; background: #c4d0be33; } /* 卡片信息横排,中间文字容器 min-width:0 允许标题省略,不反向撑宽网格。 */ .board-card-info { display: flex; gap: 10px; align-items: center; padding: 16px 14px; } .board-card-info > div { flex: 1; min-width: 0; } .board-card-info h3 { font-size: 11px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .board-card-info p { font-size: 8px; color: #b19e88; margin-top: 6px; } .board-card-info > svg { color: #b6a38f; } /* 底部提示限制装饰图溢出,文字在普通流内,右侧插画绝对定位。 */ .workspace-tip { position: relative; border-top: 1px solid #e9e1d6; margin-top: 56px; padding: 35px 0; display: flex; align-items: center; gap: 17px; overflow: hidden; min-height: 120px; } .workspace-tip > span { font-size: 27px; color: #bcaa8e; } .workspace-tip p { font-size: 10px; line-height: 1.9; color: #ab9781; } .workspace-tip strong { font-weight: 500; color: #93806d; } .workspace-tip > img { position: absolute; right: 20px; top: 10px; opacity: 0.7; } /* 空列表状态纵向居中,给创建动作留出独立间距。 */ .empty-state { display: flex; align-items: center; flex-direction: column; justify-content: center; min-height: 240px; gap: 13px; color: #ac9984; } .empty-state h3 { font-size: 16px; color: #88735d; font-weight: 500; } .empty-state p { font-size: 11px; text-align: center; } .empty-state button { margin-top: 8px; } /* 工作区错误横条让说明/操作分置两侧,提示层不代替业务错误状态。 */ .workspace-error { padding: 14px 25px; font-size: 12px; background: #fceddf; color: #a2583e; display: flex; justify-content: space-between; gap: 15px; } /* 补充共享对话框输入的上下外边距,其尺寸/边框已在认证输入组合规则定义。 */ .dialog-input { margin-bottom: 23px; margin-top: 1px; } /* 旧全局 toast 固定底部居中并限于 90vw;不要与 sonner 的通知状态存储混为一体。 */ .toast { position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); padding: 14px 23px; background: #49372e; color: #fff9f2; display: flex; gap: 10px; align-items: center; font-size: 12px; border-radius: 8px; box-shadow: 0 8px 25px #38281f33; z-index: 100; max-width: 90vw; } /* 页面加载态占满动态视口,以 grid 居中提示内容。 */ .loading-page { display: grid; align-content: center; justify-content: center; gap: 20px; min-height: 100dvh; } .loading-page p { font-size: 12px; color: #a58d75; } /* 全局命名的展示画布布局;以下固定舞台/示例纸张样式不表示 headless 文档、视口或几何模型。 */ .canvas-main { height: 100dvh; overflow: hidden; } /* 展示视口扣掉 63px 顶栏高度,允许内部滚动并铺点阵背景。 */ .canvas-viewport { position: relative; overflow: auto; height: calc(100dvh - 63px); background-color: #fafafa; background-image: radial-gradient(#cfc9bf 0.6px, transparent 0.6px); background-size: 18px 18px; } /* 展示标题和缩放控制绝对浮在视口上方,与 CSS Module 工作区浮动条的定位规则分开。 */ .canvas-floating-title { position: absolute; left: 20px; top: 18px; display: flex; align-items: center; gap: 9px; padding: 10px 14px; background: #fff; border: 1px solid #e4dcd3; border-radius: 7px; font-size: 11px; z-index: 5; box-shadow: 0 2px 10px #291e0c06; } .canvas-floating-title span { font-size: 8px; color: #b4a38f; margin-left: 10px; } .canvas-zoom { position: absolute; right: 20px; top: 18px; display: flex; align-items: center; gap: 12px; font-size: 10px; z-index: 5; background: white; border: 1px solid #e4dcd3; border-radius: 7px; padding: 5px 8px; } /* 示例舞台固定为 1050×820,transform-origin 仅设置变换锚点;缩放量不在此声明。 */ .canvas-stage { position: relative; width: 1050px; height: 820px; transform-origin: 50% 40%; } /* 示例纸张固定位置/宽高,内部用两列三行网格排文本、声音、插画、清单和色板。 */ .study-board { position: absolute; top: 145px; left: 190px; width: 740px; height: 600px; border: 1px solid #9d7a62; background: #fff; padding: 33px 31px; display: grid; grid-template-columns: 268px 310px; grid-template-rows: 150px 230px 100px; gap: 24px 64px; } /* 纸张标题放在上边框外,副信息使用小字距;正文与可编辑 textarea 共用排版。 */ .board-caption { position: absolute; left: 0; top: -28px; font-size: 11px; } .board-caption span { font-size: 8px; color: #9e9385; margin-left: 20px; } .study-board h3 { font-family: "Songti SC", serif; font-size: 17px; font-weight: 500; margin-bottom: 13px; } .study-board p, .study-board textarea { font-size: 13px; line-height: 1.9; color: #54493f; } /* 示例文本域背景透明,可纵向调整高度,最小高度 75px。 */ .study-text textarea { border: 1px solid transparent; resize: vertical; min-height: 75px; width: 100%; padding: 0; background: transparent; outline: 0; } /* 声音示例与插画示例各有底色与固定高度,插画复用 light-shape。 */ .study-sound { background: #ede9d0; padding: 18px; height: 151px; margin-top: 0; } .study-sound p { font-size: 12px; } .study-art { background: #fff6ef; padding: 22px; height: 250px; } .study-art h3 { font-size: 23px; color: #49372e; } .study-art .light-shape { height: 145px; width: 244px; margin-top: 20px; } /* 清单 label 横排复选框/文字,accent-color 使用主色。 */ .study-checks { margin-top: -8px; } .study-checks label { display: flex; align-items: center; gap: 5px; font-size: 12px; color: #54493f; margin: 4px 0; } .study-checks input { accent-color: #78523f; } /* 色板标题和色块纵向排列,色块横排且固定尺寸。 */ .study-palette { padding-top: 8px; } .study-palette small { font-size: 11px; color: #918272; } .study-palette > div { display: flex; gap: 8px; margin-top: 12px; } .study-palette span { width: 54px; height: 34px; border-radius: 3px; } /* 舞台外便签独立绝对定位,字号与脚注相对纸张内容缩小。 */ .loose-note { position: absolute; left: 20px; top: 310px; width: 140px; height: 220px; padding: 18px 16px; background: #fff; border: 1px solid #e6ddd2; border-radius: 7px; } .loose-note small { font-size: 12px; } .loose-note p { margin: 25px 0; font-size: 12px; line-height: 1.9; } .loose-note > span { font-size: 9px; color: #a39380; } /* 旧展示工具栏固定在视口底部,额外向右偏移 100px 适配侧栏;窄屏断点调整该偏移。 */ .canvas-toolbar { position: fixed; bottom: 19px; left: calc(50% + 100px); transform: translateX(-50%); display: flex; padding: 5px; background: #fff; border: 1px solid #ded5c9; box-shadow: 0 5px 16px #291e0c0c; border-radius: 9px; gap: 4px; z-index: 12; } .canvas-toolbar > button { width: 36px; height: 32px; display: grid; place-items: center; border-radius: 5px; } /* 首按钮即使未 hover 也有底色,这条样式本身不读取 activeTool。 */ .canvas-toolbar > button:first-child, .canvas-toolbar > button:hover { background: #f2e8e1; } /* 图层区域标题把操作图标推到最右,图层行只提供缩进和字号。 */ .layer-label { display: flex; align-items: center; gap: 9px; padding: 25px 8px 15px; font-size: 11px; } .layer-label > svg { margin-left: auto; } .layer { font-size: 11px; padding: 8px 12px; } /* 展示用新建便签绝对定位,文本域可纵向伸展,删除按钮固定右上。 */ .new-canvas-node { position: absolute; left: 65px; top: 70px; background: #eeebcf; padding: 18px; width: 210px; border: 1px solid #d5cdb0; z-index: 8; } .new-canvas-node textarea { width: 100%; height: 90px; font-size: 12px; background: none; resize: vertical; } .new-canvas-node button { position: absolute; right: 5px; top: 5px; } /* 全局演示深色效果用滤镜反转/色相旋转;后续图片/封面再次反转以补偿,并非完整主题 token 切换。 */ .dark-workspace { filter: invert(0.87) hue-rotate(180deg); } .dark-workspace img, .dark-workspace .board-cover, .dark-workspace .light-shape { filter: invert(1) hue-rotate(180deg); } /* 超宽屏增大主内容留白/封面高度,并调整登录故事的水平位置与拼贴间距。 */ @media (min-width: 1600px) { /* 超宽屏增加工作区顶部留白和封面高度,不改变网格列数。 */ .workspace-content { padding-top: 75px; } .board-cover { height: 220px; } /* 登录故事按最大内容宽度向内对齐,文案与拼贴增加上下距离。 */ .auth-story { padding-left: max(40px, calc((100vw - 1300px) / 2)); } .auth-story-copy { margin-top: 125px; } .auth-collage { margin-top: 55px; } } /* 1100px 以下压缩全局页面与登录拼贴;侧栏收为 215px,主区相应偏移 263px。 */ @media (max-width: 1100px) { /* 中屏缩小页面左右留白,导航链接间距和品牌字号一起压缩。 */ .container { width: calc(100% - 72px); } .site-nav { padding: 0 36px; } .site-nav nav { gap: 20px; } .brand { font-size: 17px; } .brand small { font-size: 11px; } /* 人物间距与图注缩小,隐藏图注编号,图片高度交回固有比例。 */ .people-row { gap: 20px; } .people-row figcaption { gap: 6px; font-size: 9px; } .people-row figcaption span { display: none; } .people-row img { height: auto; } /* 首屏留白和预览整体高度缩小;纸张/图稿 padding、字号与便签文字同步调整。 */ .hero { padding-top: 70px; } .product-preview { grid-template-columns: 170px 1fr; height: 490px; } .preview-note { padding: 22px 16px; } .preview-note h3 { font-size: 21px; } .preview-art { padding: 20px; height: 235px; } .preview-art .light-shape { height: 145px; } .preview-sticky { font-size: 10px; } /* 工具插画缩小大字,工作流列间距、页脚和结尾区留白也一并收紧。 */ .type-art { font-size: 54px; padding-left: 25px; } .type-art i { font-size: 140px; } .workflow { gap: 60px; } .site-footer { padding: 30px 36px; } .site-footer > span { display: none; } .closing { padding-left: 36px; } /* 登录故事/拼贴改用更小卡片与内边距,右侧表单减小水平留白。 */ .auth-story { padding: 32px 28px; } .auth-story-copy h1 { font-size: 35px; } .auth-story-copy > p { font-size: 11px; } .auth-collage { margin-top: 45px; height: 290px; } .auth-art, .auth-note { width: 180px; padding: 20px; } .auth-art { left: 43%; height: 250px; } .auth-art .light-shape { height: 125px; } .auth-note { height: 225px; } .auth-note h2 { font-size: 22px; } .auth-story > footer { left: 28px; } .auth-main { padding: 90px 38px; } /* 全局工作区边距收紧,侧栏 215px 与主区 263px 偏移相配。 */ .workspace-content { padding: 43px 35px; } .workspace-sidebar { width: 215px; } .workspace-main { margin-left: 263px; width: calc(100% - 263px); } /* 图谱仍为三列,只缩小间隙、封面和文字,隐藏信息行中的次要图标。 */ .board-grid { gap: 14px; } .board-cover { height: 165px; } .cover-serif { font-size: 24px; } .board-card-info { padding: 14px 10px; } .board-card-info > .ui-icon { display: none; } /* 快捷创建按钮减少 padding/图标尺寸,欢迎区装饰和搜索框也随之缩小。 */ .quick-create { gap: 12px; } .quick-create > button { padding: 14px 12px; gap: 10px; } .quick-icon { height: 40px; width: 40px; } .welcome-top h1 { font-size: 26px; } .welcome-spark { font-size: 65px; } .board-search input { width: 100px; } } /* 800px 以下隐藏导航链接和登录故事,章节标题改纵排、图谱网格改两列;全局侧栏收为 195px。 */ @media (max-width: 800px) { /* 隐藏全局导航链接,保留品牌与操作;后置 grid 覆盖并不重新显示这些链接。 */ .site-nav nav { display: none; } /* 首屏标题与人物图注进一步缩小,图注允许换行。 */ .hero h1 { font-size: 45px; letter-spacing: -2px; } .hero-stroke { width: 165px; } .people-row { margin-top: 45px; gap: 12px; } .people-row figcaption { font-size: 8px; white-space: normal; } /* 章节标题/说明从横排改为纵排,减少区块上下距离。 */ .section-heading { align-items: flex-start; flex-direction: column; gap: 15px; margin-bottom: 30px; } .space-section { padding: 70px 0; } .section-heading h2, h2 { font-size: 32px; } .section-heading p { font-size: 12px; } /* 预览侧栏压到 140px,隐藏副标/底注;画布卡片按百分比重新定位并缩小。 */ .product-preview { grid-template-columns: 140px 1fr; height: 420px; } .preview-sidebar { padding: 20px 12px; font-size: 9px; } .preview-sidebar .brand small { display: none; } .preview-sidebar > small { display: none; } .preview-note { width: 38%; left: 5%; padding: 18px 13px; top: 23%; } .preview-note h3 { font-size: 18px; } .preview-note p { font-size: 8px; } .preview-art { width: 42%; left: 51%; height: 190px; padding: 18px 15px; top: 25%; } .preview-art .light-shape { height: 115px; } .preview-art > span { font-size: 16px; } .preview-sticky { top: 73%; width: 43%; left: 43%; padding: 10px 14px; font-size: 9px; } .preview-sticky span { font-size: 25px; } .preview-tools { left: 18%; font-size: 12px; bottom: 10px; padding: 10px 15px; } /* 工具卡与插画缩小字号/间距,保留双列工具网格;下一断点才改单列。 */ .tools-section { padding-top: 70px; padding-bottom: 70px; } .tool-card { padding: 20px; } .tool-card h3 { font-size: 21px; } .tool-card p { font-size: 11px; } .type-art, .canvas-art { height: 240px; } .type-art { font-size: 48px; padding: 25px 20px; } .type-art > span { font-size: 30px; } .type-art i { font-size: 110px; right: 8px; bottom: 5px; } .canvas-art > span { left: 15px; padding: 15px 10px; font-size: 11px; } .canvas-art > span:nth-of-type(2) { right: 15px; } .canvas-art > b { font-size: 20px; left: 12%; } /* 灵感卡片和工作流压缩间距/字号,FAQ 与结尾区减少留白。 */ .ideas-section { padding: 65px 0; } .idea-grid { gap: 25px; } .idea-grid h3 { font-size: 15px; } .idea-grid p { font-size: 11px; } .workflow { padding-top: 70px; padding-bottom: 70px; gap: 35px; } .workflow h2 { font-size: 30px; } .workflow li { gap: 15px; } .workflow li h3 { font-size: 14px; } .workflow li p { font-size: 11px; } .faq { padding-bottom: 70px; } .faq h2 { font-size: 26px; } .closing { padding: 60px 36px; } .closing h2 { font-size: 36px; } .closing-star { right: -40px; font-size: 290px; top: 30px; opacity: 0.6; } /* 页脚允许换行,并隐藏非品牌的直系链接。 */ .site-footer { flex-wrap: wrap; gap: 17px; } .site-footer p { font-size: 9px; } .site-footer > a:not(.brand) { display: none; } /* 移除登录故事列,auth-page 改 block,表单区独占至少一个动态视口高度。 */ .auth-story { display: none; } .auth-page { display: block; } .auth-main { min-height: 100dvh; padding: 110px 28px 55px; } .auth-back { right: 28px; top: 28px; } .auth-form-wrap { max-width: 390px; } .auth-form-wrap > h1 { font-size: 30px; } /* 侧栏缩到 195px,主区偏移 243px;图谱改两列,快捷创建改一列。 */ .workspace-content { padding: 40px 25px; } .workspace-sidebar { width: 195px; padding: 0 10px; } .workspace-main { margin-left: 243px; width: calc(100% - 243px); } .board-grid { grid-template-columns: 1fr 1fr; } .quick-create { grid-template-columns: 1fr; } .quick-create > button { padding: 14px; } .welcome-top h1 { font-size: 24px; } .welcome-top p { font-size: 11px; max-width: 75%; line-height: 1.9; } .welcome-spark { font-size: 50px; top: 13px; } /* 隐藏头部 demo 标签与图谱搜索,筛选动作缩小,减少头部拥挤。 */ .header-right .demo-label { display: none; } .workspace-header { padding: 0 16px; gap: 10px; } .files-heading { align-items: flex-start; } .files-heading > div { gap: 5px; } .files-heading button { font-size: 10px; padding: 0 9px; } .board-search { display: none; } .board-cover { height: 170px; } .board-card-info h3 { font-size: 10px; } .cover-title { font-size: 16px; } .workspace-tip img { right: -25px; opacity: 0.35; } /* 仅调整展示舞台的变换原点、缩放控件高度与工具条偏移,不改变业务画布坐标。 */ .canvas-stage { transform-origin: 20% 40%; } .canvas-zoom { top: 70px; } .canvas-toolbar { left: calc(50% + 75px); } } /* 560px 以下按单列内容收拢:人物仅留前三项,工具/灵感/工作流/图谱转单列,全局侧栏隐藏。 */ @media (max-width: 560px) { /* 手机边距收为两侧 20px,导航缩高,品牌副标与第一个次要动作隐藏。 */ .container { width: calc(100% - 40px); } .site-nav { height: 74px; padding: 0 20px; gap: 12px; } .site-nav .brand { font-size: 16px; } .site-nav .brand img { width: 31px; height: 31px; } .site-nav .brand small { display: none; } .nav-actions { gap: 15px; font-size: 11px; } .nav-actions > a:first-child { display: none; } .nav-actions .inline-flex { font-size: 11px; height: 34px; padding: 0 12px; } /* 首屏标题/引题/正文/按钮进一步缩小,人物网格改三列并隐藏第四项起的 figure。 */ .hero { padding-top: 55px; } .hero .eyebrow { font-size: 7px; letter-spacing: 1.1px; } .hero h1 { font-size: 33px; letter-spacing: -1.8px; line-height: 1.6; margin-top: 21px; } .hero-stroke { width: 120px; height: 12px; bottom: 0; } .hero-copy { font-size: 11px; margin-top: 25px; } .hero-actions { gap: 18px; margin-top: 25px; } .hero-actions .text-link { font-size: 9px; gap: 6px; } .hero-actions > a:first-child { min-width: 125px; font-size: 11px; height: 42px; } .people-row { gap: 8px; margin-top: 50px; grid-template-columns: repeat(3, 1fr); } .people-row figure:nth-child(n + 4) { display: none; } .people-row figcaption { font-size: 8px; line-height: 1.5; margin-top: 14px; } .people-row figure:nth-child(2) { padding-top: 6px; } /* 首屏底注与章节引题缩小字距/字号;二级标题在本断点降到 28px。 */ .hero-footnote { font-size: 6px; letter-spacing: 0.8px; margin-top: 30px; padding: 17px 0 20px; } .hero-footnote span:last-child { font-size: 7px; } .section-heading .eyebrow, .eyebrow { font-size: 8px; letter-spacing: 1px; } .section-heading h2, h2 { font-size: 28px; } .section-heading p { font-size: 10px; } .space-section { padding: 50px 0; } /* 预览高度降为 330px、侧栏仅 85px,内部文字/卡片/工具条按手机比例缩小。 */ .product-preview { height: 330px; grid-template-columns: 85px 1fr; border-radius: 6px; } .preview-sidebar { padding: 18px 7px; font-size: 6px; } .preview-sidebar .brand { font-size: 8px; gap: 3px; margin-bottom: 18px; } .preview-sidebar .brand img { width: 18px; height: 18px; } .preview-sidebar > p { margin-bottom: 18px; font-size: 6px; } .preview-sidebar > div { padding: 7px 2px; } .preview-bar { font-size: 7px; padding: 13px 10px; height: 36px; } .preview-note { width: 40%; padding: 14px 9px; } .preview-note small { font-size: 4px; letter-spacing: 0.5px; } .preview-note h3 { font-size: 12px; margin: 15px 0 12px; line-height: 1.65; } .preview-note p { font-size: 6px; } .preview-art { padding: 12px 10px; height: 145px; top: 27%; width: 42%; } .preview-art .light-shape { height: 85px; } .preview-art > span { font-size: 11px; margin-top: 10px; } .preview-sticky { font-size: 6px; top: 74%; padding: 9px; width: 47%; left: 38%; } .preview-sticky span { font-size: 20px; } .preview-tools { left: 15%; font-size: 9px; padding: 8px 12px; border-radius: 5px; } /* 工具网格改一列并恢复插画一定高度,正文移除最小高度,减少单列多余空白。 */ .tools-section { padding-top: 50px; padding-bottom: 50px; } .tool-grid { grid-template-columns: 1fr; gap: 20px; } .tool-card { padding: 21px; } .type-art, .canvas-art { height: 260px; } .type-art { font-size: 58px; } .type-art i { font-size: 155px; } .type-art > span { font-size: 35px; } .tool-card h3 { font-size: 22px; margin-top: 24px; } .tool-card p { min-height: 0; font-size: 11px; } .tool-card .text-link { font-size: 11px; margin-top: 18px; } /* 灵感网格改一列,每项图片绝对靠左、文字留出 95px,形成紧凑图文行。 */ .ideas-section { padding: 50px 0; } .idea-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 30px; } .idea-grid article { position: relative; padding-left: 95px; min-height: 85px; padding-top: 6px; } .idea-grid article img { position: absolute; left: 0; top: 0; width: 75px; height: 75px; } .idea-grid p { font-size: 10px; max-width: none; } .idea-grid h3 { font-size: 15px; } /* 工作流改一列,步骤和 FAQ/结尾区间距缩小。 */ .workflow { grid-template-columns: 1fr; gap: 20px; padding-top: 50px; padding-bottom: 55px; } .workflow h2 { font-size: 28px; } .workflow li { padding: 20px 0; } .workflow li h3 { font-size: 15px; } .faq h2 { font-size: 23px; line-height: 1.7; margin-bottom: 23px; } .faq-item button { font-size: 11px; padding: 20px 0; } .faq-item p { font-size: 10px; } .faq { padding-bottom: 50px; } .closing { padding: 55px 20px; } .closing h2 { font-size: 31px; } .closing p { font-size: 10px; } .closing-star { font-size: 220px; right: -55px; top: 45px; } .closing .inline-flex { font-size: 11px; } /* 页脚品牌与说明减小字号,其余隐藏状态继续承接上个断点。 */ .site-footer { padding: 25px 20px; gap: 14px; } .site-footer .brand { font-size: 12px; } .site-footer .brand small { font-size: 8px; } .site-footer p { font-size: 8px; } /* 全局侧栏先隐藏,主区只保留 48px 图标轨;末尾 sidebar-only 例外会恢复侧栏显示。 */ .workspace-sidebar { display: none; } .workspace-main { margin-left: 48px; width: calc(100% - 48px); } .dashboard .workspace-main { margin-left: 48px; width: calc(100% - 48px); } .workspace-content { padding: 30px 18px; } /* 头部减高到 55px,隐藏直系图标按钮;欢迎区和快捷创建缩小间距。 */ .workspace-header { padding: 0 12px; font-size: 8px; height: 55px; gap: 8px; } .workspace-header > .icon-button { display: none; } .header-right { gap: 5px; } .workspace-content .eyebrow { font-size: 6px; letter-spacing: 0.6px; } .welcome-top h1 { font-size: 22px; margin-top: 14px; line-height: 1.6; max-width: 85%; } .welcome-top p { font-size: 10px; max-width: 85%; } .welcome-spark { font-size: 37px; right: -1px; top: 35px; } .quick-create { margin: 25px 0 35px; gap: 10px; } .quick-create > button h3 { font-size: 12px; } .quick-create > button p { font-size: 9px; } .quick-icon { width: 35px; height: 35px; } .quick-icon img { width: 20px !important; height: 20px !important; } .files-heading h2 { font-size: 16px; } .files-heading button { height: 29px; } .file-tabs { gap: 20px; margin-bottom: 18px; font-size: 9px; } /* 图谱改单列并增大单卡封面,信息文字和先前隐藏的 ui-icon 恢复为手机卡片尺寸。 */ .board-grid { grid-template-columns: 1fr; gap: 18px; } .board-cover { height: 215px; } .board-card-info { padding: 15px; } .board-card-info h3 { font-size: 12px; } .board-card-info p { font-size: 9px; } .board-card-info > .ui-icon { display: block; } .cover-title { font-size: 24px; } .cover-0 .light-shape { height: 135px; width: 65%; } .cover-serif { font-size: 33px; } .cover-2 .cover-serif { font-size: 27px; } .cover-circles { left: 80px; top: 25px; } .cover-circles span { width: 100px; height: 100px; } .cover-small { font-size: 7px; } /* 底部提示图/文字收紧,展示画布工具条重新计算偏移并缩小按钮。 */ .workspace-tip { margin-top: 30px; padding: 25px 0; } .workspace-tip p { font-size: 9px; } .workspace-tip img { width: 80px; height: 90px; right: -5px; top: 12px; } .workspace-tip > span { font-size: 21px; } .canvas-toolbar { left: calc(50% + 24px); gap: 0; } .canvas-toolbar button { width: 29px; } .canvas-toolbar img { width: 16px !important; height: 16px !important; } /* 展示舞台改左上变换原点,缩放条改左侧;视口扣除 55px 手机头部高度。 */ .canvas-stage { transform-origin: 0 0; } .canvas-zoom { top: 66px; left: 18px; right: auto; } .canvas-floating-title { font-size: 10px; } .canvas-viewport { height: calc(100dvh - 55px); } /* 旧 toast 使用小字与最小宽度,登录表单顶部留白也略作调整。 */ .toast { font-size: 10px; min-width: 200px; text-align: left; } .auth-main { padding-top: 105px; } .auth-form-wrap > .eyebrow { font-size: 7px; } } /* 全局减少动态效果:关闭平滑滚动,并以 important 关闭元素及伪元素的 animation/transition。 */ @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *:before, *:after { animation: none !important; transition: none !important; } } /* 链接主色按钮使用浅文字;以下是位于媒体查询之后的后置覆盖,仍按选择器优先级与源码顺序参与层叠。 */ a.bg-primary { color: #fff9f4; } /* 后置覆盖把导航改为 auto/1fr/auto 三列 grid;没有重置前面媒体查询的 padding/height。 */ .site-nav { display: grid; grid-template-columns: auto 1fr auto; } /* 后置覆盖让导航链接在中间列居中;800px 查询中的 display:none 仍然保留。 */ .site-nav nav { justify-content: center; } /* 标题宽度改 fit-content,为后面强调 span 装饰保持紧贴文字的布局。 */ .hero h1 { width: fit-content; } /* 先调整旧装饰线锚点/比例;再下一条同名规则将其隐藏,因此这不是最终可见装饰。 */ .hero-stroke { right: 0; width: 30%; } /* 配合后置 grid,动作区自身靠右对齐。 */ .nav-actions { justify-self: end; } /* 最终隐藏旧 hero-stroke 元素;下方 span:after 代替它绘制装饰线。 */ .hero-stroke { display: none; } /* 强调 span 成为伪元素定位参照。 */ .hero h1 span { position: relative; } /* 在强调文字下方绘制旋转的圆角色条,content 为空不加入实际文案。 */ .hero h1 span:after { content: ""; position: absolute; bottom: -7px; left: 0; right: 0; height: 5px; border-radius: 50%; background: #bca381; transform: rotate(-3deg); } /* demo 标签内按钮用下划线表达可点,和普通说明分开。 */ .demo-label button { text-decoration: underline; margin-left: 9px; font-size: 8px; } /* 共享对话框标题与说明统一字号、字距和行高。 */ .dialog-title { font-size: 20px; line-height: 1.5; letter-spacing: -0.4px; font-weight: 600; } .dialog-description { font-size: 12px; line-height: 1.8; } /* Keep the sidebar-only dashboard accessible at narrow viewport widths. */ /* 侧栏专用页面后置恢复 display:block,覆盖窄屏的全局侧栏隐藏规则,并给 48px 图标轨留空间。 */ .sidebar-only .workspace-sidebar { display: block; max-width: calc(100vw - 48px); } /* 侧栏专用页禁用按钮采用 not-allowed,覆盖全局默认 wait 光标。 */ .sidebar-only button:disabled { opacity: 0.45; cursor: not-allowed; }