Files
workbuddy_skills/oil-ui-pro/assets/cards/promo-band/card.css
T
admin d9445b5888 oil-ui-pro 0.15.4 → 0.22.2(上游 ui.oiloil.org 正式包)+ 记 P0-98 跨盘 rename 坑
- 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(含通则:更新器把原生错误兜底成指错方向的人话)。
2026-10-14 10:21:46 +08:00

28 lines
2.1 KiB
CSS

.promo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.promo-band {
display:flex; align-items:flex-start; min-height:180px; aspect-ratio:auto; padding:30px 24px;
text-decoration:none; background:var(--card-wash);
& .promo-copy { position:relative; z-index:2; width:65%; }
& p { margin:0 0 20px; color:var(--card-muted); font-size:16px; line-height:1.5; letter-spacing:-.025em; }
& strong { color:var(--card-ink); font-weight:650; }
& .promo-link { color:color-mix(in oklab,var(--_card-accent-ink) 85%,var(--card-ink)); font-size:16px; font-weight:600; }
& .promo-link > span:last-child { display:inline-block; margin-left:4px; transition:transform .3s ease; }
&:is(:hover,:focus-visible) .promo-link > span:last-child { transform:translateX(4px); }
& .promo-art { position:absolute; right:0; top:0; bottom:0; width:43%; pointer-events:none; }
&[data-art="prism"] .promo-art {
width:44%; clip-path:polygon(43% 0,100% 0,100% 100%,0 100%);
background:
radial-gradient(ellipse at 93% 1% in oklab,var(--_card-accent-2),transparent 69%),
radial-gradient(ellipse at 4% 97% in oklab,color-mix(in oklab,var(--card-accent) 80%,#4812bd),transparent 74%),
linear-gradient(155deg in oklab,var(--_card-accent-2),var(--card-accent) 68%);
&::after { content:""; position:absolute; inset:0; background:linear-gradient(119deg,var(--card-wash) 11%,transparent 37%); }
}
& svg { width:100%; height:100%; display:block; }
& .facet-back { fill:var(--_card-accent-3); }
& .facet-top { fill:oklch(from var(--_card-accent-3) calc(l - .01) calc(c * 1.45) calc(h + 12)); }
& .facet-front { fill:oklch(from var(--_card-accent-3) calc(l + .13) calc(c * .95) calc(h + 36)); }
& .facet-side { fill:oklch(from var(--_card-accent-3) calc(l + .07) calc(c * 1.3) calc(h + 30)); }
@media(max-width:650px) { min-height:204px; padding:25px 20px; & .promo-copy { width:73%; } & p { font-size:15px; } & .promo-art { width:32%; opacity:.85; } &[data-art="prism"] .promo-art { width:34%; } }
}
@media(max-width:850px) { .promo-grid { grid-template-columns:1fr; } }