- oil-ui-pro 升到 0.22.2:references 13→28 份(新增 16、删 imagery.md)、assets 增 cards/(22 组)与 fonts/、SKILL.md 顶层五步结构未改名。 - 升级路径:官方 `npx github:oil-oil/oil-cli update` 稳定失败(error=replace、报「检查目录权限」)。 真身为 EXDEV —— 解压在 os.tmpdir()(C 盘)、技能目录在 E 盘,Windows 上 rename 不能跨盘; CLI 的 catch 把非 CliError 原生异常一律兜底成 replaceFailed,真错误一个字不吐。 做法=借其 prepare() 只做下载+校验,再 cp 到同盘 stage、rename 交换;官方命令复验 up_to_date。 - 回归:product-planning 按名引用的 visual-review.md/tools.md/design-direction.md/style-explorer.md 全部健在;命名闸门 2061|0|27。 - session-mechanism/references/pitfalls.md 新增 P0-98(含通则:更新器把原生错误兜底成指错方向的人话)。
29 lines
2.1 KiB
CSS
29 lines
2.1 KiB
CSS
.card.line-ribbons {
|
|
aspect-ratio:auto;
|
|
display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto minmax(140px,1fr); min-height:min-content;
|
|
/* A spanning ratio spacer preserves the art format without capping text height. */
|
|
&::before { content:""; grid-column:1; grid-row:1 / -1; aspect-ratio:2.7; align-self:start; pointer-events:none; }
|
|
& > .card-heading, & > .ribbon-note { grid-column:1; }
|
|
& > .card-heading { grid-row:1; position:relative; inset:auto; flex:none; margin:24px 24px 0 24px; }
|
|
/* Upper-left space is reserved by the paths, without a horizontal mask. */
|
|
&:not([data-title]) > .card-stage, &[data-title="top"] > .card-stage { inset:0; }
|
|
& .ribbon-art, & .ribbon-surface { position:absolute; width:100%; height:100%; inset:0; }
|
|
&[data-surface-ready="true"] .ribbon-art { visibility:hidden; }
|
|
&[data-renderer="dots"] .ribbon-mist, &[data-renderer="grid"] .ribbon-mist { opacity:.13; }
|
|
& .ribbon-mist { position:absolute; inset:0; background:
|
|
radial-gradient(ellipse 31% 65% at 49% 106% in oklab,color-mix(in oklab,oklch(from var(--_card-accent-2) calc(l - .12) calc(c * 1.08) h) 88%,transparent) 8%,color-mix(in oklab,var(--_card-accent-2) 65%,transparent) 38%,transparent 96%),
|
|
radial-gradient(ellipse 39% 70% at 75% 95% in oklab,color-mix(in oklab,color-mix(in oklab,var(--_card-accent-2) 45%,var(--card-accent)) 66%,transparent),transparent 96%),
|
|
radial-gradient(ellipse 33% 90% at 98% 40% in oklab,color-mix(in oklab,var(--card-accent) 72%,transparent),transparent 94%); }
|
|
& .ribbon-note { grid-row:2; position:relative; z-index:4; margin:24px 24px 0; flex:none; line-height:1.5; font-size:13px; color:var(--card-muted); }
|
|
&[data-title="bottom"] {
|
|
grid-template-rows:minmax(140px,1fr) auto auto;
|
|
& > .card-heading { grid-row:2; margin:24px 24px 0; }
|
|
& .ribbon-note { grid-row:3; margin:8px 24px 12px; }
|
|
& > .card-stage { position:relative; grid-column:1; grid-row:1; inset:auto; min-height:140px; }
|
|
}
|
|
@media(max-width:650px) {
|
|
&::before { aspect-ratio:1.2; }
|
|
& .ribbon-note { max-width:190px; line-height:1.5; }
|
|
}
|
|
}
|