chore: release Owen Graphite 3.1.65

This commit is contained in:
Owen 2026-05-30 06:53:33 +09:00
parent 5d08ca7609
commit 85563b7f6d
22 changed files with 1032 additions and 1058 deletions

View file

@ -7,7 +7,7 @@ body:
id: obsidian-version
attributes:
label: Obsidian version
placeholder: "1.12.0"
placeholder: "1.5.8"
validations:
required: true
- type: dropdown

View file

@ -1,5 +1,13 @@
# Changelog
## v3.1.65
- compat: 커뮤니티 테마 최소 지원 버전을 Obsidian `1.5.8`로 낮추고 문서/이슈 템플릿의 기준 버전도 맞췄습니다.
- a11y: light/dark 핵심 보조 텍스트와 code comment 팔레트 대비를 WCAG AA 기준에 맞게 보강했습니다.
- fix: bundled `theme.css` 중간에 섞이던 UTF-8 BOM을 제거해 커뮤니티 스캐너의 unknown type selector 경고를 정리했습니다.
- polish: 파일 탐색기 최상위 폴더 기본 외곽선을 조금 진하게 해 폴더 간 구분을 더 쉽게 보이게 했습니다.
- guard: source usage map, core principles, release check, Obsidian theme sync 검증을 통과했습니다.
## v3.1.64
- polish: 왼쪽 파일 탐색기 문서 트리의 hover/active/parent folder 위계를 더 조용하게 정리하고, 선택 문서 외곽선과 sibling 문서 대비를 보강했습니다.

View file

@ -5,7 +5,7 @@ Owen Graphite v3 (현재 안정 릴리즈 v3.1.51)은 처음부터 다시 작성
## 0. 사전 준비
- Python 3.10+ (`.venv\Scripts\python.exe` 권장; Windows 기준)
- Obsidian 1.12.0+
- Obsidian 1.5.8+
- (선택) Style Settings 플러그인 — 옵션 토글 확인용
```powershell

View file

@ -18,7 +18,7 @@ Owen Graphite is an Obsidian theme for long-form technical writing, Korean and E
3. Search for `Owen Graphite` and enable it.
4. Optional: install the Style Settings plugin to adjust PDF labels, typography, glass intensity, motion, and accessibility options.
Manual ZIP installs should use the release asset named `Owen-Graphite-3.1.64.zip`, not GitHub's auto-generated source archive.
Manual ZIP installs should use the release asset named `Owen-Graphite-3.1.65.zip`, not GitHub's auto-generated source archive.
## Documentation

View file

@ -9,7 +9,7 @@
# Owen Graphite — Obsidian Theme
**Owen Graphite v3.1.64** — 한국어 기술 문서·보고서·위키 작성을 위한 Obsidian 테마. 17,000+ 줄 CSS를 src/ 폴더에 처음부터 다시 작성한 v3 코드베이스의 최신 안정 릴리즈입니다.
**Owen Graphite v3.1.65** — 한국어 기술 문서·보고서·위키 작성을 위한 Obsidian 테마. 17,000+ 줄 CSS를 src/ 폴더에 처음부터 다시 작성한 v3 코드베이스의 최신 안정 릴리즈입니다.
**English summary** — Owen Graphite is an Obsidian theme for technical documentation, knowledge bases, and report writing. It focuses on readable Korean and English notes, stable long tables and code blocks, polished workspace chrome, Live Preview / PDF export parity, and report-friendly layouts for recurring documentation work.
@ -80,8 +80,8 @@ Owen Graphite is designed for people who write long-form notes, technical docume
| 항목 | 내용 |
| --- | --- |
| **버전** | `3.1.64` |
| **베이스라인 / 롤백 기준** | `v3.1.64` |
| **버전** | `3.1.65` |
| **베이스라인 / 롤백 기준** | `v3.1.65` |
| **모드 지원** | ✅ Light / Dark |
| **플랫폼** | ✅ Desktop & Mobile |
| **디자인 정책** | Liquid Glass core · 토큰 우선 · zero-important cascade |
@ -211,7 +211,7 @@ This release expands the README Visual Tour with real workspace screenshots for
### 옵션 B — ZIP 수동 설치 / Manual ZIP Install
[Releases 페이지](https://github.com/towishy/Owen-Graphite/releases/latest)에서 **`Owen-Graphite-3.1.64.zip`** 을 받아 압축 해제합니다.
[Releases 페이지](https://github.com/towishy/Owen-Graphite/releases/latest)에서 **`Owen-Graphite-3.1.65.zip`** 을 받아 압축 해제합니다.
| 플랫폼 | 대상 경로 |
| --- | --- |
@ -220,7 +220,7 @@ This release expands the README Visual Tour with real workspace screenshots for
설치 후 Obsidian → 설정 → **외관 → 테마**`Owen Graphite` 선택.
> ⚠️ Release Assets에는 GitHub 자동 생성 `Source code (zip)`도 함께 표시됩니다. 반드시 `Owen-Graphite-3.1.64.zip` 을 받으세요.
> ⚠️ Release Assets에는 GitHub 자동 생성 `Source code (zip)`도 함께 표시됩니다. 반드시 `Owen-Graphite-3.1.65.zip` 을 받으세요.
### 옵션 C — Git 수동 설치 / 업데이트 / Git Install or Update

View file

@ -6,7 +6,7 @@ Owen Graphite는 기본 Obsidian UI와 자주 쓰는 작성 플러그인을 함
| 항목 | 현재 기준 | 확인 내용 |
| --- | --- | --- |
| 최소 지원 버전 | `1.12.0` | `manifest.json``minAppVersion`과 일치 |
| 최소 지원 버전 | `1.5.8` | `manifest.json``minAppVersion`과 일치 |
| 권장 확인 버전 | 최신 stable desktop | Live Preview, Reading View, PDF export, Settings modal |
| 모바일 | 지원 대상 | 좁은 폭에서 side pane, file explorer, reading surface overflow 확인 |
| 커뮤니티 제출 | 수동 ZIP + GitHub Release | `dev/scripts/audit_release_zip.py`로 설치 트리 검증 |

View file

@ -1,18 +1,18 @@
# v3 Release Record (latest: v3.1.64)
# v3 Release Record (latest: v3.1.65)
**Status**: Current stable / rollback baseline = `v3.1.64` (2026-05-29). Original v3.0.0 from-scratch rewrite shipped 2026-05-16; superseded by the v3.0.x hotfix chain and the v3.1.x feature/lint chain (file-explorer hover and extension type badges, scanner multicolumn cleanup, H1 sizing across reading/live-preview/print, PDF marginalia hardening, build-time dedup, CSS validator cleanup, MAP risk tooling, Key/Value PDF labels, dual PDF header Key/Value pairs, Live Preview/PDF quality parity fixture, codeblock font/color parity, Live Preview/PDF CSS MAP, README feature screenshot, README English community-review summary, PDF document-title hiding, PDF H1 liquid-glass plate polish, Live Preview H1 scale bump, Obsidian vault sync target discovery, direct-owner CSS baseline tooling, unused CSS candidate reporting, minAppVersion 1.12.0, release confidence docs, release-check automation, issue templates, image border polish, Live Preview image embed rim coverage, liquid-glass image shadow polish, settings heading liquid bars, search focus Liquid Aqua rim, README visual tour screenshots, top tab attached liquid-glass polish, connected workspace chrome polish, Live Preview codeblock header editability polish, file-explorer action icon glass polish, transparent root view header tuning, active tab backline cleanup, customer-delivery screen PDF visibility preset, Style Settings import/export glass polish, Validate workflow dependency setup, WIKI-first operational routing, WIKI workflow automation helpers, structured WIKI validation planning, chrome/settings visual state fixture coverage, PDF font-size readability update, risk-accepted registry validation, CDP runtime status tooling, CDP-enforced design validation, community theme search focus shadow-only polish, client-delivery PDF preset, and file-explorer document tree/MD badge state polish). v2 source/dev/scripts/docs/screenshots remain fully purged.
**Status**: Current stable / rollback baseline = `v3.1.65` (2026-05-30). Original v3.0.0 from-scratch rewrite shipped 2026-05-16; superseded by the v3.0.x hotfix chain and the v3.1.x feature/lint chain (file-explorer hover and extension type badges, scanner multicolumn cleanup, H1 sizing across reading/live-preview/print, PDF marginalia hardening, build-time dedup, CSS validator cleanup, MAP risk tooling, Key/Value PDF labels, dual PDF header Key/Value pairs, Live Preview/PDF quality parity fixture, codeblock font/color parity, Live Preview/PDF CSS MAP, README feature screenshot, README English community-review summary, PDF document-title hiding, PDF H1 liquid-glass plate polish, Live Preview H1 scale bump, Obsidian vault sync target discovery, direct-owner CSS baseline tooling, unused CSS candidate reporting, minAppVersion 1.5.8, release confidence docs, release-check automation, issue templates, image border polish, Live Preview image embed rim coverage, liquid-glass image shadow polish, settings heading liquid bars, search focus Liquid Aqua rim, README visual tour screenshots, top tab attached liquid-glass polish, connected workspace chrome polish, Live Preview codeblock header editability polish, file-explorer action icon glass polish, transparent root view header tuning, active tab backline cleanup, customer-delivery screen PDF visibility preset, Style Settings import/export glass polish, Validate workflow dependency setup, WIKI-first operational routing, WIKI workflow automation helpers, structured WIKI validation planning, chrome/settings visual state fixture coverage, PDF font-size readability update, risk-accepted registry validation, CDP runtime status tooling, CDP-enforced design validation, community theme search focus shadow-only polish, client-delivery PDF preset, file-explorer document tree/MD badge state polish, minAppVersion rollback, community scanner BOM cleanup, palette contrast hardening, and top-level file-explorer folder outline polish). v2 source/dev/scripts/docs/screenshots remain fully purged.
## What shipped (latest)
| Item | Value |
| --- | --- |
| `manifest.json` version | `3.1.64` |
| `minAppVersion` | `1.12.0` |
| `dist/theme-v3.css` lines / `!important` scanner count | 18,200 / 5 |
| `manifest.json` version | `3.1.65` |
| `minAppVersion` | `1.5.8` |
| `dist/theme-v3.css` lines / `!important` scanner count | 18,156 / 5 |
| `theme.css` | sourced verbatim from `dist/theme-v3.css` |
| Live Preview hit-routing audit | clean |
| Duplicate-selector audit | informational only |
| Release ZIP | `dist/Owen-Graphite-3.1.64.zip` |
| Release ZIP | `dist/Owen-Graphite-3.1.65.zip` |
## What was removed
@ -78,4 +78,4 @@
- Current v3 Style Settings contract is recorded in `dev/WIKI/DOCS/v3/style-settings-contract.md`.
- Current token inventory is recorded in `dev/WIKI/DOCS/v3/token-inventory.md`.
- `minAppVersion: 1.12.0`.
- `minAppVersion: 1.5.8`.

View file

@ -4,7 +4,7 @@ Canonical MAP location: `dev/WIKI/MAP`.
## Summary
- Version: `3.1.64`
- Version: `3.1.65`
- Source: `src/entry.css`
- Modules: 26
- Selectors: 2399
@ -76,54 +76,54 @@ Canonical MAP location: `dev/WIKI/MAP`.
| medium | high-specificity | `src/base/12-reading-content.css:707` | specificity=(0, 12, 3) |
| medium | cm6-hit-routing-sensitive | `src/base/12-reading-content.css:790` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/12-reading-content.css:798` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:26` | specificity=(0, 42, 116) |
| medium | high-specificity | `src/base/13-live-preview.css:32` | specificity=(0, 8, 2) |
| medium | high-specificity | `src/base/13-live-preview.css:37` | specificity=(0, 9, 3) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:70` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:78` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:92` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:117` | specificity=(0, 9, 2) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:123` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:128` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:137` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:146` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:29` | specificity=(0, 15, 5) |
| medium | high-specificity | `src/base/13-live-preview.css:35` | specificity=(0, 8, 2) |
| medium | high-specificity | `src/base/13-live-preview.css:40` | specificity=(0, 9, 3) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:73` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:81` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:95` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:120` | specificity=(0, 9, 2) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:126` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:131` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:140` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:148` | specificity=(0, 10, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:148` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:154` | specificity=(0, 8, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:154` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:206` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:213` | specificity=(0, 8, 4) |
| medium | high-specificity | `src/base/13-live-preview.css:248` | specificity=(0, 12, 6) |
| medium | high-specificity | `src/base/13-live-preview.css:275` | specificity=(0, 9, 3) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:347` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:358` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:371` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:397` | specificity=(0, 11, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:407` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:413` | specificity=(0, 9, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:426` | specificity=(0, 9, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:426` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:450` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:487` | specificity=(0, 8, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:518` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:549` | specificity=(0, 9, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:554` | specificity=(0, 9, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:562` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:569` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:580` | specificity=(0, 24, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:599` | specificity=(0, 12, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:609` | specificity=(0, 15, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:614` | specificity=(0, 15, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:635` | specificity=(0, 12, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:635` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:642` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:649` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:656` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:683` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:695` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:733` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:740` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:748` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:757` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:763` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:842` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:149` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:157` | specificity=(0, 8, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:157` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:209` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:216` | specificity=(0, 8, 4) |
| medium | high-specificity | `src/base/13-live-preview.css:251` | specificity=(0, 12, 6) |
| medium | high-specificity | `src/base/13-live-preview.css:278` | specificity=(0, 9, 3) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:350` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:361` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:374` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:400` | specificity=(0, 11, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:410` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:416` | specificity=(0, 9, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:429` | specificity=(0, 9, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:429` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:453` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:490` | specificity=(0, 8, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:521` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:552` | specificity=(0, 9, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:557` | specificity=(0, 9, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:565` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:572` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | high-specificity | `src/base/13-live-preview.css:583` | specificity=(0, 24, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:602` | specificity=(0, 12, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:612` | specificity=(0, 15, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:617` | specificity=(0, 15, 0) |
| medium | high-specificity | `src/base/13-live-preview.css:638` | specificity=(0, 12, 0) |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:638` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:645` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:652` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:659` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:686` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:698` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:736` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:743` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:751` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:760` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:766` | CM6 rule declares vertical box or overlay-sensitive properties |
| medium | cm6-hit-routing-sensitive | `src/base/13-live-preview.css:845` | CM6 rule declares vertical box or overlay-sensitive properties |

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -7,7 +7,7 @@ Canonical WIKI location: `dev/WIKI/MAP/source-usage-map.md`. Machine provenance
## Summary
- Source modules: 26
- Source CSS lines: 18413
- Source CSS lines: 18418
- Parsed CSS rules: 2396
- Selector parts: 3789
- Hard core-owner violations: 10
@ -160,7 +160,7 @@ See `dev/WIKI/runtime-debug-protocol.md` and the snippets in `dev/WIKI/runtime-d
| 6 | `src/surfaces/20-reading-tables-code.css` | 2381-3418 | 1126 | reading-tables-code, dataview-plugin-support (allowed-late) | cm6:24, code:143, print-pdf:9, reading-rendered:130, table:53, workspace-chrome:77 | after `src/base/12-reading-content.css`; before `src/surfaces/21-reading-callouts-lists.css` |
| 7 | `src/surfaces/21-reading-callouts-lists.css` | 3422-4264 | 871 | reading-callouts-lists | callout-list:105, cm6:3, code:70, reading-rendered:121, table:9, workspace-chrome:1 | after `src/surfaces/20-reading-tables-code.css`; before `src/surfaces/22-reading-embeds-workspace.css` |
| 8 | `src/surfaces/22-reading-embeds-workspace.css` | 4268-4496 | 248 | support: reading embed/workspace primitives | callout-list:4, cm6:6, code:4, overlay-search:1, reading-rendered:18, table:5, workspace-chrome:6 | after `src/surfaces/21-reading-callouts-lists.css`; before `src/themes/50-dark.css` |
| 9 | `src/themes/50-dark.css` | 4500-4996 | 568 | support: dark theme support | callout-list:35, cm6:6, code:44, overlay-search:3, reading-rendered:81, table:87, workspace-chrome:4 | after `src/surfaces/22-reading-embeds-workspace.css`; before `src/features/43-print-base.css` |
| 9 | `src/themes/50-dark.css` | 4500-4996 | 573 | support: dark theme support | callout-list:35, cm6:6, code:44, overlay-search:3, reading-rendered:81, table:87, workspace-chrome:4 | after `src/surfaces/22-reading-embeds-workspace.css`; before `src/features/43-print-base.css` |
| 10 | `src/features/43-print-base.css` | 5000-5370 | 376 | pdf-base | callout-list:28, cm6:1, code:52, print-pdf:63, reading-rendered:58, table:8, workspace-chrome:1 | after `src/themes/50-dark.css`; before `src/base/13-live-preview.css` |
| 11 | `src/base/13-live-preview.css` | 5374-6447 | 1124 | live-preview-cm6, live-preview-rendered-widgets | callout-list:30, cm6:157, code:41, lp-html-table:18, lp-markdown-table-widget-reference:29, reading-rendered:10, table:68 | after `src/features/43-print-base.css`; before `src/features/41-feature-presets.css` |
| 12 | `src/features/41-feature-presets.css` | 6451-8032 | 1588 | pdf-marginalia | callout-list:20, cm6:4, code:78, overlay-search:2, print-pdf:156, reading-rendered:127, table:34, workspace-chrome:11 | after `src/base/13-live-preview.css`; before `src/chrome/30-workspace.css` |
@ -295,16 +295,16 @@ Select-String -Path src\**\*.css -Pattern 'table|td|th|tr|caption|cm-table-widge
## Core Principle Status
Hard violations detected:
- `src/base/13-live-preview.css` line 184: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor`
- `src/base/13-live-preview.css` line 185: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(thead, tbody, tr)`
- `src/base/13-live-preview.css` line 186: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(th, td)`
- `src/base/13-live-preview.css` line 187: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor th`
- `src/base/13-live-preview.css` line 188: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor tbody tr:hover :is(th, td)`
- `src/base/13-live-preview.css` line 189: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor`
- `src/base/13-live-preview.css` line 190: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(thead, tbody, tr)`
- `src/base/13-live-preview.css` line 191: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(th, td)`
- `src/base/13-live-preview.css` line 192: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor th`
- `src/base/13-live-preview.css` line 193: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor tbody tr:hover :is(th, td)`
- `src/base/13-live-preview.css` line 207: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor`
- `src/base/13-live-preview.css` line 208: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(thead, tbody, tr)`
- `src/base/13-live-preview.css` line 209: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(th, td)`
- `src/base/13-live-preview.css` line 210: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor th`
- `src/base/13-live-preview.css` line 211: `body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor tbody tr:hover :is(th, td)`
- `src/base/13-live-preview.css` line 212: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor`
- `src/base/13-live-preview.css` line 213: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(thead, tbody, tr)`
- `src/base/13-live-preview.css` line 214: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(th, td)`
- `src/base/13-live-preview.css` line 215: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor th`
- `src/base/13-live-preview.css` line 216: `body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor tbody tr:hover :is(th, td)`
This map is descriptive. It does not replace `audit_direct_owner_guard.py`, `audit_v3_hit_routing.py`, `audit_lp_pdf_selector_ownership.py`, or `release_check.py`.

View file

@ -23,7 +23,7 @@
<body>
<main>
<h1>Owen Graphite Source MAP Risk Map</h1>
<p>Canonical MAP root: <code>dev/WIKI/MAP</code>. Source: <code>src/entry.css</code>. Version: <code>3.1.64</code>.</p>
<p>Canonical MAP root: <code>dev/WIKI/MAP</code>. Source: <code>src/entry.css</code>. Version: <code>3.1.65</code>.</p>
<section class="summary">
<div class="metric"><b>26</b><span>modules</span></div>
<div class="metric"><b>2399</b><span>selectors</span></div>

View file

@ -96,7 +96,7 @@
"module": "src/surfaces/23-liquid-glass-core.css"
},
{
"line": 183,
"line": 185,
"module": "src/tokens/01-dark-tokens.css"
}
],
@ -153,15 +153,15 @@
"module": "src/base/12-reading-content.css"
},
{
"line": 389,
"line": 392,
"module": "src/base/13-live-preview.css"
},
{
"line": 852,
"line": 855,
"module": "src/base/13-live-preview.css"
},
{
"line": 940,
"line": 943,
"module": "src/base/13-live-preview.css"
},
{
@ -180,7 +180,7 @@
{
"lines": [
{
"line": 997,
"line": 1000,
"module": "src/base/13-live-preview.css"
},
{
@ -210,7 +210,7 @@
{
"lines": [
{
"line": 990,
"line": 993,
"module": "src/base/13-live-preview.css"
},
{
@ -244,11 +244,11 @@
"module": "src/base/12-reading-content.css"
},
{
"line": 392,
"line": 395,
"module": "src/base/13-live-preview.css"
},
{
"line": 860,
"line": 863,
"module": "src/base/13-live-preview.css"
},
{
@ -267,7 +267,7 @@
{
"lines": [
{
"line": 981,
"line": 984,
"module": "src/base/13-live-preview.css"
},
{
@ -293,7 +293,34 @@
{
"lines": [
{
"line": 1013,
"line": 11,
"module": "src/chrome/30-workspace.css"
},
{
"line": 299,
"module": "src/chrome/30-workspace.css"
},
{
"line": 70,
"module": "src/themes/50-dark.css"
},
{
"line": 72,
"module": "src/tokens/01-dark-tokens.css"
}
],
"modules": [
"src/chrome/30-workspace.css",
"src/themes/50-dark.css",
"src/tokens/01-dark-tokens.css"
],
"occurrences": 4,
"selector": ".theme-dark"
},
{
"lines": [
{
"line": 1016,
"module": "src/base/13-live-preview.css"
},
{
@ -461,11 +488,11 @@
{
"lines": [
{
"line": 385,
"line": 388,
"module": "src/base/13-live-preview.css"
},
{
"line": 842,
"line": 845,
"module": "src/base/13-live-preview.css"
},
{
@ -506,29 +533,7 @@
{
"lines": [
{
"line": 11,
"module": "src/chrome/30-workspace.css"
},
{
"line": 299,
"module": "src/chrome/30-workspace.css"
},
{
"line": 65,
"module": "src/themes/50-dark.css"
}
],
"modules": [
"src/chrome/30-workspace.css",
"src/themes/50-dark.css"
],
"occurrences": 3,
"selector": ".theme-dark"
},
{
"lines": [
{
"line": 1016,
"line": 1019,
"module": "src/base/13-live-preview.css"
},
{
@ -804,7 +809,7 @@
"module": "src/chrome/37-tabs-file-explorer-search.css"
},
{
"line": 197,
"line": 199,
"module": "src/tokens/01-dark-tokens.css"
}
],
@ -909,7 +914,7 @@
{
"lines": [
{
"line": 865,
"line": 868,
"module": "src/base/13-live-preview.css"
},
{
@ -927,7 +932,7 @@
{
"lines": [
{
"line": 869,
"line": 872,
"module": "src/base/13-live-preview.css"
},
{
@ -945,7 +950,7 @@
{
"lines": [
{
"line": 957,
"line": 960,
"module": "src/base/13-live-preview.css"
},
{
@ -981,7 +986,7 @@
{
"lines": [
{
"line": 892,
"line": 895,
"module": "src/base/13-live-preview.css"
},
{
@ -999,7 +1004,7 @@
{
"lines": [
{
"line": 877,
"line": 880,
"module": "src/base/13-live-preview.css"
},
{
@ -1075,7 +1080,7 @@
"module": "src/chrome/30-workspace.css"
},
{
"line": 324,
"line": 329,
"module": "src/themes/50-dark.css"
}
],
@ -1089,7 +1094,7 @@
{
"lines": [
{
"line": 586,
"line": 589,
"module": "src/base/13-live-preview.css"
},
{
@ -1111,7 +1116,7 @@
"module": "src/surfaces/23-liquid-glass-core.css"
},
{
"line": 92,
"line": 97,
"module": "src/themes/50-dark.css"
}
],
@ -1453,7 +1458,7 @@
"module": "src/chrome/30-workspace.css"
},
{
"line": 77,
"line": 79,
"module": "src/tokens/01-dark-tokens.css"
}
],
@ -1687,7 +1692,7 @@
"module": "src/chrome/36-floating-ui-glass-system.css"
},
{
"line": 217,
"line": 219,
"module": "src/tokens/01-dark-tokens.css"
}
],
@ -1705,7 +1710,7 @@
"module": "src/chrome/36-floating-ui-glass-system.css"
},
{
"line": 206,
"line": 208,
"module": "src/tokens/01-dark-tokens.css"
}
],
@ -1952,15 +1957,15 @@
},
{
"category": "high-specificity",
"line": 26,
"message": "specificity=(0, 42, 116)",
"line": 29,
"message": "specificity=(0, 15, 5)",
"module": "src/base/13-live-preview.css",
"selector": "/* ===================================================================== v1.3.1 — Live Preview ↔ Reading View parity (12-point upgrade) Goal: minimize visual jump when toggling ⌘E between Source/Reading. FORBIDDEN in this module (enforced by dev/scripts/audit_v3_hit_routing.py): - non-zero vertical margin on .cm-callout / .cm-table-widget / .cm-embed-block.cm-callout (block widgets) - non-zero vertical margin OR padding on .HyperMD-* .cm-line variants (table-row / callout / header-1..6) - outline / box-shadow / transform / vertical padding on .cm-active.cm-line (active line) - overflow-x:auto + max-width:100% pair on .cm-embed-block - pointer-events:none on .cm-content / .cm-line See: dev/WIKI/MAP/cm6-hit-routing-contract.md ===================================================================== */ /* (1) CM6 header line-height per level — override generic .cm-line 1.45 v2.22.101: heading .cm-line padding is forced to 0 so the line's hitbox matches its visible text. Earlier 0.16~0.42em padding extended the click target into adjacent rows and trapped cursor placement on neighbour headings/blank rows. Visual rhythm is now owned by line-height and the header-adjacent blank row in 03-reading-content.css. */ body .markdown-source-view.mod-cm6 .cm-editor, body .markdown-source-view.mod-cm6 .cm-scroller, body .markdown-source-view.mod-cm6 .cm-sizer, body .markdown-source-view.mod-cm6 .cm-contentContainer, body .markdown-source-view.mod-cm6 .cm-content",
"selector": "body .markdown-source-view.mod-cm6 .cm-editor, body .markdown-source-view.mod-cm6 .cm-scroller, body .markdown-source-view.mod-cm6 .cm-sizer, body .markdown-source-view.mod-cm6 .cm-contentContainer, body .markdown-source-view.mod-cm6 .cm-content",
"severity": "medium"
},
{
"category": "high-specificity",
"line": 32,
"line": 35,
"message": "specificity=(0, 8, 2)",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer, body .markdown-source-view.mod-cm6.is-readable-line-width .CodeMirror-sizer",
@ -1968,7 +1973,7 @@
},
{
"category": "high-specificity",
"line": 37,
"line": 40,
"message": "specificity=(0, 9, 3)",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.is-readable-line-width .cm-contentContainer, body .markdown-source-view.is-readable-line-width .cm-sizer, body .markdown-source-view.is-readable-line-width .CodeMirror-sizer",
@ -1976,7 +1981,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 70,
"line": 73,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget) table:not(.cm-table):not(.cm-table-widget) :is(td, th) > p",
@ -1984,7 +1989,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 78,
"line": 81,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 :is( .cm-embed-block:not(.cm-table-widget) table:not(.cm-table):not(.cm-table-widget) ) :is(td, th) :is( .cm-editor, .cm-scroller, .cm-content, .cm-line, .cm-active.cm-line )",
@ -1992,7 +1997,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 92,
"line": 95,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 :is( .cm-embed-block:not(.cm-table-widget) table:not(.cm-table):not(.cm-table-widget) ) :is(td, th) :is( .cm-line:empty, .cm-active.cm-line:empty )",
@ -2000,7 +2005,7 @@
},
{
"category": "high-specificity",
"line": 117,
"line": 120,
"message": "specificity=(0, 9, 2)",
"module": "src/base/13-live-preview.css",
"selector": "body.theme-dark .markdown-source-view.mod-cm6 .HyperMD-codeblock-frontmatter, body.theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-frontmatter-bg",
@ -2008,7 +2013,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 123,
"line": 126,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-header-1",
@ -2016,7 +2021,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 128,
"line": 131,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-header-2",
@ -2024,20 +2029,12 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 137,
"line": 140,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-header-3",
"severity": "medium"
},
{
"category": "cm6-hit-routing-sensitive",
"line": 146,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-header-4",
"severity": "medium"
},
{
"category": "high-specificity",
"line": 148,
@ -2054,9 +2051,17 @@
"selector": "body .markdown-source-view.mod-cm6 :is( .cm-embed-block:not(.cm-table-widget) table:not(.cm-table):not(.cm-table-widget) ) :is(td, th) :is( .cm-line:has(br:only-child), .cm-active.cm-line:has(br:only-child) )",
"severity": "medium"
},
{
"category": "cm6-hit-routing-sensitive",
"line": 149,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-header-4",
"severity": "medium"
},
{
"category": "high-specificity",
"line": 154,
"line": 157,
"message": "specificity=(0, 8, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-header-5, .markdown-source-view.mod-cm6 .cm-line.HyperMD-header-6",
@ -2064,7 +2069,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 154,
"line": 157,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-header-5, .markdown-source-view.mod-cm6 .cm-line.HyperMD-header-6",
@ -2072,7 +2077,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 206,
"line": 209,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor :is(th, td)",
@ -2080,7 +2085,7 @@
},
{
"category": "high-specificity",
"line": 213,
"line": 216,
"message": "specificity=(0, 8, 4)",
"module": "src/base/13-live-preview.css",
"selector": "body.theme-dark .markdown-source-view.mod-cm6 .cm-table-widget.markdown-rendered table.table-editor tbody tr:hover :is(th, td)",
@ -2088,7 +2093,7 @@
},
{
"category": "high-specificity",
"line": 248,
"line": 251,
"message": "specificity=(0, 12, 6)",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 .cm-line.HyperMD-callout.HyperMD-task-line input[type=\"checkbox\"], body .markdown-source-view.mod-cm6 .cm-line.HyperMD-callout .task-list-label input[type=\"checkbox\"]",
@ -2096,7 +2101,7 @@
},
{
"category": "high-specificity",
"line": 275,
"line": 278,
"message": "specificity=(0, 9, 3)",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 .cm-formatting-list, body .markdown-source-view.mod-cm6 .cm-formatting-list-ul, body .markdown-source-view.mod-cm6 .cm-formatting-list-ol",
@ -2104,7 +2109,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 347,
"line": 350,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 .cm-line.HyperMD-list-line :is(.cm-formatting-list, .cm-formatting-list-ol, .cm-formatting-list-ul)",
@ -2112,7 +2117,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 358,
"line": 361,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 .cm-line.HyperMD-list-line .cm-highlight",
@ -2120,7 +2125,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 371,
"line": 374,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body .markdown-source-view.mod-cm6 .cm-line.HyperMD-list-line .cm-formatting-highlight",
@ -2128,7 +2133,7 @@
},
{
"category": "high-specificity",
"line": 397,
"line": 400,
"message": "specificity=(0, 11, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-formatting-code-block, .markdown-source-view.mod-cm6 .HyperMD-codeblock-begin .cm-formatting-code, .markdown-source-view.mod-cm6 .HyperMD-codeblock-end .cm-formatting-code",
@ -2136,7 +2141,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 407,
"line": 410,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-hmd-internal-link, .markdown-source-view.mod-cm6 .cm-link.cm-hmd-internal-link",
@ -2144,7 +2149,7 @@
},
{
"category": "high-specificity",
"line": 413,
"line": 416,
"message": "specificity=(0, 9, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-hmd-internal-link:hover, .markdown-source-view.mod-cm6 .cm-link.cm-hmd-internal-link:hover",
@ -2152,7 +2157,7 @@
},
{
"category": "high-specificity",
"line": 426,
"line": 429,
"message": "specificity=(0, 9, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-hashtag, .markdown-source-view.mod-cm6 .cm-hashtag-begin, .markdown-source-view.mod-cm6 .cm-hashtag-end",
@ -2160,7 +2165,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 426,
"line": 429,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-hashtag, .markdown-source-view.mod-cm6 .cm-hashtag-begin, .markdown-source-view.mod-cm6 .cm-hashtag-end",
@ -2168,7 +2173,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 450,
"line": 453,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-inline-code",
@ -2176,7 +2181,7 @@
},
{
"category": "high-specificity",
"line": 487,
"line": 490,
"message": "specificity=(0, 8, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".theme-dark .markdown-source-view.mod-cm6 ::spelling-error, .theme-dark .markdown-source-view.mod-cm6 ::grammar-error",
@ -2184,7 +2189,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 518,
"line": 521,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-callout",
@ -2192,7 +2197,7 @@
},
{
"category": "high-specificity",
"line": 549,
"line": 552,
"message": "specificity=(0, 9, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-formatting-list, .markdown-source-view.mod-cm6 .cm-formatting-list-ul, .markdown-source-view.mod-cm6 .cm-formatting-list-ol",
@ -2200,7 +2205,7 @@
},
{
"category": "high-specificity",
"line": 554,
"line": 557,
"message": "specificity=(0, 9, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .HyperMD-list-line-2, .markdown-source-view.mod-cm6 .HyperMD-list-line-3, .markdown-source-view.mod-cm6 .HyperMD-list-line-4",
@ -2208,7 +2213,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 562,
"line": 565,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-frontmatter-1",
@ -2216,7 +2221,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 569,
"line": 572,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-frontmatter-end",
@ -2224,7 +2229,7 @@
},
{
"category": "high-specificity",
"line": 580,
"line": 583,
"message": "specificity=(0, 24, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".theme-dark .markdown-source-view.mod-cm6 .cm-formatting-header, .theme-dark .markdown-source-view.mod-cm6 .cm-formatting-list, .theme-dark .markdown-source-view.mod-cm6 .cm-formatting-quote, .theme-dark .markdown-source-view.mod-cm6 .cm-formatting-link, .theme-dark .markdown-source-view.mod-cm6 .cm-formatting-code, .theme-dark .markdown-source-view.mod-cm6 .cm-hmd-table-sep",
@ -2232,7 +2237,7 @@
},
{
"category": "high-specificity",
"line": 599,
"line": 602,
"message": "specificity=(0, 12, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".theme-dark .markdown-source-view.mod-cm6 .cm-hashtag, .theme-dark .markdown-source-view.mod-cm6 .cm-hashtag-begin, .theme-dark .markdown-source-view.mod-cm6 .cm-hashtag-end",
@ -2240,7 +2245,7 @@
},
{
"category": "high-specificity",
"line": 609,
"line": 612,
"message": "specificity=(0, 15, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock, .theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin, .theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-end",
@ -2248,7 +2253,7 @@
},
{
"category": "high-specificity",
"line": 614,
"line": 617,
"message": "specificity=(0, 15, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-frontmatter, .theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-frontmatter-1, .theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-frontmatter-end",
@ -2256,7 +2261,7 @@
},
{
"category": "high-specificity",
"line": 635,
"line": 638,
"message": "specificity=(0, 12, 0)",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line:not(:empty):not(.HyperMD-header):not(.HyperMD-codeblock):not(.HyperMD-table-row):not(.HyperMD-callout):not(.HyperMD-list-line):not(.HyperMD-quote):not(.HyperMD-frontmatter)",
@ -2264,7 +2269,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 635,
"line": 638,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line:not(:empty):not(.HyperMD-header):not(.HyperMD-codeblock):not(.HyperMD-table-row):not(.HyperMD-callout):not(.HyperMD-list-line):not(.HyperMD-quote):not(.HyperMD-frontmatter)",
@ -2272,7 +2277,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 642,
"line": 645,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-header-2",
@ -2280,7 +2285,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 649,
"line": 652,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-header-3",
@ -2288,7 +2293,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 656,
"line": 659,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-header-4",
@ -2296,7 +2301,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 683,
"line": 686,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-quote:not(.HyperMD-callout)",
@ -2304,7 +2309,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 695,
"line": 698,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 :is(.cm-callout, .cm-embed-block.cm-callout)",
@ -2312,7 +2317,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 733,
"line": 736,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.theme-dark.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin",
@ -2320,7 +2325,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 740,
"line": 743,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.theme-dark.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-end",
@ -2328,7 +2333,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 748,
"line": 751,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-inline-code",
@ -2336,7 +2341,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 757,
"line": 760,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .HyperMD-list-line",
@ -2344,7 +2349,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 763,
"line": 766,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .HyperMD-list-line",
@ -2352,7 +2357,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 842,
"line": 845,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock",
@ -2360,7 +2365,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 852,
"line": 855,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin",
@ -2368,7 +2373,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 860,
"line": 863,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-end",
@ -2376,7 +2381,7 @@
},
{
"category": "high-specificity",
"line": 869,
"line": 872,
"message": "specificity=(0, 8, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin + .cm-line.HyperMD-codeblock:not(.HyperMD-codeblock-end) :is(.cm-hmd-codeblock, span)",
@ -2384,7 +2389,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 892,
"line": 895,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 :is(.HyperMD-codeblock-begin, .HyperMD-codeblock-end) :is(.cm-formatting-code, .cm-formatting-code-block)",
@ -2392,7 +2397,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 916,
"line": 919,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin",
@ -2400,7 +2405,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 921,
"line": 924,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-end",
@ -2408,7 +2413,7 @@
},
{
"category": "high-specificity",
"line": 957,
"line": 960,
"message": "specificity=(0, 14, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin .cm-hmd-codeblock:not(.cm-formatting):not(.cm-formatting-code):not(.cm-formatting-code-block), .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin > span:not([class*=\"formatting\"]):not(.cm-fold-indicator)",
@ -2416,7 +2421,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 957,
"line": 960,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin .cm-hmd-codeblock:not(.cm-formatting):not(.cm-formatting-code):not(.cm-formatting-code-block), .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin > span:not([class*=\"formatting\"]):not(.cm-fold-indicator)",
@ -2424,7 +2429,7 @@
},
{
"category": "high-specificity",
"line": 966,
"line": 969,
"message": "specificity=(0, 16, 0)",
"module": "src/base/13-live-preview.css",
"selector": "body.theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin .cm-hmd-codeblock:not(.cm-formatting):not(.cm-formatting-code):not(.cm-formatting-code-block), body.theme-dark .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock-begin > span:not([class*=\"formatting\"]):not(.cm-fold-indicator)",
@ -2432,7 +2437,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 990,
"line": 993,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 :is(.cm-html-embed, .cm-embed-block:not(.cm-callout):not(.cm-table-widget)) table:not(.cm-table):not(.cm-table-widget) th",
@ -2440,7 +2445,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 997,
"line": 1000,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": ".markdown-source-view.mod-cm6 :is(.cm-html-embed, .cm-embed-block:not(.cm-callout):not(.cm-table-widget)) table:not(.cm-table):not(.cm-table-widget) td",
@ -2448,7 +2453,7 @@
},
{
"category": "high-specificity",
"line": 1019,
"line": 1022,
"message": "specificity=(0, 8, 0)",
"module": "src/base/13-live-preview.css",
"selector": ".theme-dark .markdown-source-view.mod-cm6 :is(.cm-html-embed, .cm-embed-block:not(.cm-callout):not(.cm-table-widget)) table:not(.cm-table):not(.cm-table-widget) tr:hover td",
@ -2456,7 +2461,7 @@
},
{
"category": "cm6-hit-routing-sensitive",
"line": 1028,
"line": 1031,
"message": "CM6 rule declares vertical box or overlay-sensitive properties",
"module": "src/base/13-live-preview.css",
"selector": "body.ogd-spacing-relaxed .markdown-source-view.mod-cm6 :is(.cm-html-embed, .cm-embed-block:not(.cm-callout):not(.cm-table-widget)) table:not(.cm-table):not(.cm-table-widget)",
@ -2464,7 +2469,7 @@
},
{
"category": "high-specificity",
"line": 1045,
"line": 1048,
"message": "specificity=(0, 8, 0)",
"module": "src/base/13-live-preview.css",
"selector": "body.theme-dark.ogd-spacing-relaxed .markdown-source-view.mod-cm6 :is(.cm-html-embed, .cm-embed-block:not(.cm-callout):not(.cm-table-widget)) table:not(.cm-table):not(.cm-table-widget)",
@ -5320,7 +5325,7 @@
},
{
"category": "high-specificity",
"line": 69,
"line": 74,
"message": "specificity=(0, 8, 1)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered p, .theme-dark .markdown-source-view.mod-cm6 .cm-content, .theme-dark .markdown-rendered",
@ -5328,7 +5333,7 @@
},
{
"category": "high-specificity",
"line": 115,
"line": 120,
"message": "specificity=(0, 8, 2)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered table.sticky-first-col td:first-child, .theme-dark .markdown-rendered table.sticky-first-col th:first-child",
@ -5336,7 +5341,7 @@
},
{
"category": "high-specificity",
"line": 183,
"line": 188,
"message": "specificity=(0, 8, 2)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"note\"], .theme-dark .markdown-rendered .callout[data-callout=\"info\"]",
@ -5344,7 +5349,7 @@
},
{
"category": "high-specificity",
"line": 186,
"line": 191,
"message": "specificity=(0, 12, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"tip\"], .theme-dark .markdown-rendered .callout[data-callout=\"hint\"], .theme-dark .markdown-rendered .callout[data-callout=\"important\"]",
@ -5352,7 +5357,7 @@
},
{
"category": "high-specificity",
"line": 189,
"line": 194,
"message": "specificity=(0, 12, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"abstract\"], .theme-dark .markdown-rendered .callout[data-callout=\"summary\"], .theme-dark .markdown-rendered .callout[data-callout=\"tldr\"]",
@ -5360,7 +5365,7 @@
},
{
"category": "high-specificity",
"line": 192,
"line": 197,
"message": "specificity=(0, 28, 7)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"warning\"], .theme-dark .markdown-rendered .callout[data-callout=\"attention\"], .theme-dark .markdown-rendered .callout[data-callout=\"caution\"], .theme-dark .markdown-rendered .callout[data-callout=\"failure\"], .theme-dark .markdown-rendered .callout[data-callout=\"danger\"], .theme-dark .markdown-rendered .callout[data-callout=\"error\"], .theme-dark .markdown-rendered .callout[data-callout=\"bug\"]",
@ -5368,7 +5373,7 @@
},
{
"category": "high-specificity",
"line": 195,
"line": 200,
"message": "specificity=(0, 12, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"success\"], .theme-dark .markdown-rendered .callout[data-callout=\"check\"], .theme-dark .markdown-rendered .callout[data-callout=\"done\"]",
@ -5376,7 +5381,7 @@
},
{
"category": "high-specificity",
"line": 201,
"line": 206,
"message": "specificity=(0, 12, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"question\"], .theme-dark .markdown-rendered .callout[data-callout=\"help\"], .theme-dark .markdown-rendered .callout[data-callout=\"faq\"]",
@ -5384,7 +5389,7 @@
},
{
"category": "high-specificity",
"line": 261,
"line": 266,
"message": "specificity=(0, 20, 4)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"note\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"info\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"quote\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"cite\"] .callout-icon",
@ -5392,7 +5397,7 @@
},
{
"category": "high-specificity",
"line": 265,
"line": 270,
"message": "specificity=(0, 15, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"tip\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"hint\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"important\"] .callout-icon",
@ -5400,7 +5405,7 @@
},
{
"category": "high-specificity",
"line": 269,
"line": 274,
"message": "specificity=(0, 15, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"abstract\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"summary\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"tldr\"] .callout-icon",
@ -5408,7 +5413,7 @@
},
{
"category": "high-specificity",
"line": 273,
"line": 278,
"message": "specificity=(0, 65, 13)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"warning\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"attention\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"caution\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"failure\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"fail\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"missing\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"danger\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"error\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"bug\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"example\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"question\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"help\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"faq\"] .callout-icon",
@ -5416,7 +5421,7 @@
},
{
"category": "high-specificity",
"line": 277,
"line": 282,
"message": "specificity=(0, 15, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout[data-callout=\"success\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"check\"] .callout-icon, .theme-dark .markdown-rendered .callout[data-callout=\"done\"] .callout-icon",
@ -5424,7 +5429,7 @@
},
{
"category": "high-specificity",
"line": 314,
"line": 319,
"message": "specificity=(0, 11, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered a.external-link, .theme-dark .markdown-rendered a[href^=\"http://\"]:not(.internal-link), .theme-dark .markdown-rendered a[href^=\"https://\"]:not(.internal-link)",
@ -5432,7 +5437,7 @@
},
{
"category": "high-specificity",
"line": 321,
"line": 326,
"message": "specificity=(0, 14, 0)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered a.external-link:hover, .theme-dark .markdown-rendered a[href^=\"http://\"]:not(.internal-link):hover, .theme-dark .markdown-rendered a[href^=\"https://\"]:not(.internal-link):hover",
@ -5440,7 +5445,7 @@
},
{
"category": "high-specificity",
"line": 354,
"line": 359,
"message": "specificity=(0, 8, 0)",
"module": "src/themes/50-dark.css",
"selector": "body.theme-dark :is(.markdown-rendered, .markdown-preview-view, .markdown-reading-view) :is(ol, ul):not(.contains-task-list) :is(ol, ul):not(.contains-task-list) > li:not(.task-list-item)::before",
@ -5448,7 +5453,7 @@
},
{
"category": "high-specificity",
"line": 375,
"line": 380,
"message": "specificity=(0, 10, 0)",
"module": "src/themes/50-dark.css",
"selector": "body.theme-dark :is(.markdown-rendered, .markdown-preview-view, .markdown-reading-view) ol:not(.contains-task-list) > li:not(.task-list-item)::marker, body.theme-dark :is(.markdown-rendered, .markdown-preview-view, .markdown-reading-view) ul:not(.contains-task-list) > li:not(.task-list-item)::marker",
@ -5456,7 +5461,7 @@
},
{
"category": "high-specificity",
"line": 412,
"line": 417,
"message": "specificity=(0, 9, 2)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered mark, .theme-dark .markdown-preview-view mark, .theme-dark .markdown-reading-view mark, .theme-dark .markdown-rendered :is(.search-highlight, .search-hit, .is-search-match)",
@ -5464,7 +5469,7 @@
},
{
"category": "high-specificity",
"line": 445,
"line": 450,
"message": "specificity=(0, 14, 0)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered img:not(.emoji), .theme-dark .markdown-preview-view img:not(.emoji), .theme-dark .markdown-reading-view img:not(.emoji), .theme-dark .markdown-source-view.mod-cm6 :is(.internal-embed, .image-embed, .media-embed, .cm-embed-block) img:not(.emoji)",
@ -5472,7 +5477,7 @@
},
{
"category": "high-specificity",
"line": 448,
"line": 453,
"message": "specificity=(0, 20, 2)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered dl, .theme-dark .markdown-rendered .definition-list, .theme-dark .markdown-rendered .definition-row, .theme-dark .markdown-rendered dd, .theme-dark .markdown-rendered .contains-task-list, .theme-dark .markdown-rendered .contains-task-list > .task-list-item, .theme-dark .markdown-rendered .footnotes",
@ -5480,7 +5485,7 @@
},
{
"category": "high-specificity",
"line": 454,
"line": 459,
"message": "specificity=(0, 15, 2)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered dd, .theme-dark .markdown-rendered :is(.definition-row .desc, .definition-desc), .theme-dark .markdown-rendered figcaption, .theme-dark .markdown-rendered :is(.image-caption, .media-caption, .figure-caption), .theme-dark .markdown-rendered img + em, .theme-dark .markdown-rendered .footnotes",
@ -5488,7 +5493,7 @@
},
{
"category": "high-specificity",
"line": 464,
"line": 469,
"message": "specificity=(0, 8, 3)",
"module": "src/themes/50-dark.css",
"selector": ".theme-dark .markdown-rendered .callout-icon, .theme-dark .markdown-rendered code:not(pre code), .theme-dark .markdown-rendered kbd",
@ -6144,7 +6149,7 @@
},
{
"category": "pdf-header-footer-sensitive",
"line": 183,
"line": 185,
"message": "PDF marginalia or @page-sensitive rule; review dev/WIKI/MAP/pdf-header-footer-contract.md",
"module": "src/tokens/01-dark-tokens.css",
"selector": "body:not(.is-mobile).theme-dark",
@ -6423,8 +6428,8 @@
"live_preview_sensitive_rule_count": 0,
"max_specificity": [
0,
4,
63
3,
0
],
"module": "src/tokens/01-dark-tokens.css",
"pdf_header_footer_sensitive_rule_count": 1,
@ -6872,14 +6877,14 @@
]
},
{
"declaration_count": 275,
"declaration_count": 279,
"entry_line": 49,
"has_selector_count": 0,
"high_specificity_selector_count": 22,
"import_index": 9,
"important_count": 0,
"legacy_id": "04-dark-mode.css",
"line_count": 568,
"line_count": 573,
"live_preview_sensitive_rule_count": 0,
"max_specificity": [
0,
@ -7035,8 +7040,8 @@
"live_preview_sensitive_rule_count": 40,
"max_specificity": [
0,
42,
116
24,
0
],
"module": "src/base/13-live-preview.css",
"pdf_header_footer_sensitive_rule_count": 0,
@ -8263,5 +8268,5 @@
},
"selector_count": 2399
},
"version": "3.1.64"
"version": "3.1.65"
}

View file

@ -286,5 +286,5 @@
},
"selector_count": 2399
},
"version": "3.1.64"
"version": "3.1.65"
}

View file

@ -1,7 +1,7 @@
{
"name": "Owen Graphite",
"version": "3.1.64",
"minAppVersion": "1.12.0",
"version": "3.1.65",
"minAppVersion": "1.5.8",
"author": "Owen (@towishy)",
"authorUrl": "https://github.com/towishy"
}

View file

@ -1,6 +1,6 @@
# Screenshots
Owen Graphite v3.1.64 마켓플레이스 등록용 스크린샷.
Owen Graphite v3.1.65 마켓플레이스 등록용 스크린샷.
| 파일 | 모드 | 용도 |
| --- | --- | --- |

View file

@ -1,4 +1,4 @@
/* =====================================================================
/* =====================================================================
v1.3.1 Live Preview Reading View parity (12-point upgrade)
Goal: minimize visual jump when toggling E between Source/Reading.

View file

@ -303,9 +303,9 @@
margin-top: 2px;
margin-bottom: 0;
padding-inline: 16px 12px;
border-color: rgba(148, 163, 184, 0.12);
border-color: rgba(100, 116, 139, 0.22);
background: rgba(248, 250, 252, 0.36);
box-shadow: none;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 0 0 0.5px rgba(148, 163, 184, 0.10);
color: #64748b;
}
@ -458,7 +458,7 @@
}
body:not(.is-mobile).theme-dark .nav-folder-title[data-path]:not([data-path*="/"]) {
border-color: rgba(148, 163, 184, 0.12);
border-color: rgba(203, 213, 225, 0.18);
background: rgba(15, 23, 42, 0.24);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
color: var(--ogd-text-soft, #94a3b8);

View file

@ -2,6 +2,11 @@
DARK MODE
===================================================================== */
.theme-dark {
--ogd-accent: #94a3b8;
--ogd-text-muted: #b8c2cf;
--ogd-text-soft: #9ca3af;
--ogd-code-muted: #9ca3af;
--background-primary: #1f2024;
--background-primary-alt: #25272d;
--background-secondary: #17181c;
@ -12,8 +17,8 @@
--background-modifier-active-hover: #34373f;
--text-normal: var(--ogd-line-soft, #e5e7eb);
--text-muted: #9ca3af;
--text-faint: #6b7280;
--text-muted: #b8c2cf;
--text-faint: #9ca3af;
--text-accent: var(--ogd-line-strong, #cbd5e1);
--text-accent-hover: var(--ogd-surface-subtle, #f3f4f6);
--text-on-accent: var(--ogd-surface-base, #ffffff);
@ -39,7 +44,7 @@
--header-accent: var(--ogd-accent, #94a3b8);
--header-accent-dark: var(--ogd-line-strong, #cbd5e1);
--header-text: var(--ogd-surface-subtle, #f3f4f6);
--header-muted: #9ca3af;
--header-muted: #b8c2cf;
--header-line: #353841;
--header-bg-soft: #25272d;
@ -54,7 +59,7 @@
--code-background: #25272d;
--code-normal: var(--ogd-line-soft, #e5e7eb);
--code-comment: #6b7280;
--code-comment: #9ca3af;
--code-function: #93c5fd;
--code-keyword: var(--ogd-line-strong, #cbd5e1);
--code-property: #93c5fd;

View file

@ -21,10 +21,10 @@
--ogd-text-inverted: #f8fafc;
--ogd-text-secondary: #374151;
--ogd-text-subtle: #475569;
--ogd-text-soft: #94a3b8;
--ogd-text-soft: #5b6472;
--ogd-text-slate: #334155;
--ogd-text-body: #1a1a1a;
--ogd-text-muted: #64748b;
--ogd-text-muted: #475569;
--ogd-border-none: 0;
--ogd-shadow-none: none;
--ogd-radius-control: 7px;
@ -136,7 +136,7 @@
--ogd-code-font-variant-numeric: tabular-nums slashed-zero;
--ogd-code-font-variant-ligatures: none;
--ogd-code-fg: #1e293b;
--ogd-code-muted: #64748b;
--ogd-code-muted: #475569;
--ogd-code-keyword: #5b21b6;
--ogd-code-string: #a16207;
--ogd-code-function: #0f766e;
@ -155,8 +155,8 @@
--background-modifier-active-hover: #e5e7eb;
--text-normal: #1a1a1a;
--text-muted: #6b7280;
--text-faint: #9ca3af;
--text-muted: #475569;
--text-faint: #5b6472;
--text-accent: #374151;
--text-accent-hover: #111827;
--text-on-accent: #ffffff;
@ -185,7 +185,7 @@
--header-accent: var(--ogd-accent, #4b5563);
--header-accent-dark: #374151;
--header-text: #111827;
--header-muted: #6b7280;
--header-muted: #475569;
--header-line: #d1d5db;
--header-bg-soft: #f3f4f6;
@ -226,7 +226,7 @@
--code-background: #f8fafc;
--code-normal: var(--ogd-code-fg, #1e293b);
--code-comment: var(--ogd-code-muted, #64748b);
--code-comment: var(--ogd-code-muted, #475569);
--code-function: var(--ogd-code-function, #0f766e);
--code-important: #374151;
--code-keyword: var(--ogd-code-keyword, #5b21b6);

View file

@ -1,4 +1,4 @@
/* Owen Graphite v3 dark theme tokens.
/* Owen Graphite v3 dark theme tokens.
*
* AUTO-GENERATED by dev/scripts/generate_v3_dark_tokens.py from dev/*.css.
* Do not hand-edit. Re-run the generator after touching the dev/ source.

104
theme.css
View file

@ -848,10 +848,10 @@ settings:
--ogd-text-inverted: #f8fafc;
--ogd-text-secondary: #374151;
--ogd-text-subtle: #475569;
--ogd-text-soft: #94a3b8;
--ogd-text-soft: #5b6472;
--ogd-text-slate: #334155;
--ogd-text-body: #1a1a1a;
--ogd-text-muted: #64748b;
--ogd-text-muted: #475569;
--ogd-border-none: 0;
--ogd-shadow-none: none;
--ogd-radius-control: 7px;
@ -963,7 +963,7 @@ settings:
--ogd-code-font-variant-numeric: tabular-nums slashed-zero;
--ogd-code-font-variant-ligatures: none;
--ogd-code-fg: #1e293b;
--ogd-code-muted: #64748b;
--ogd-code-muted: #475569;
--ogd-code-keyword: #5b21b6;
--ogd-code-string: #a16207;
--ogd-code-function: #0f766e;
@ -982,8 +982,8 @@ settings:
--background-modifier-active-hover: #e5e7eb;
--text-normal: #1a1a1a;
--text-muted: #6b7280;
--text-faint: #9ca3af;
--text-muted: #475569;
--text-faint: #5b6472;
--text-accent: #374151;
--text-accent-hover: #111827;
--text-on-accent: #ffffff;
@ -1012,7 +1012,7 @@ settings:
--header-accent: var(--ogd-accent, #4b5563);
--header-accent-dark: #374151;
--header-text: #111827;
--header-muted: #6b7280;
--header-muted: #475569;
--header-line: #d1d5db;
--header-bg-soft: #f3f4f6;
@ -1053,7 +1053,7 @@ settings:
--code-background: #f8fafc;
--code-normal: var(--ogd-code-fg, #1e293b);
--code-comment: var(--ogd-code-muted, #64748b);
--code-comment: var(--ogd-code-muted, #475569);
--code-function: var(--ogd-code-function, #0f766e);
--code-important: #374151;
--code-keyword: var(--ogd-code-keyword, #5b21b6);
@ -1100,7 +1100,7 @@ body.ogd-motion-standard {
/* <<< src/tokens/00-light-tokens.css */
/* >>> src/tokens/01-dark-tokens.css */
/* Owen Graphite v3 dark theme tokens.
/* Owen Graphite v3 dark theme tokens.
*
* AUTO-GENERATED by dev/scripts/generate_v3_dark_tokens.py from dev/*.css.
* Do not hand-edit. Re-run the generator after touching the dev/ source.
@ -1115,64 +1115,6 @@ body.ogd-motion-standard {
* Selector groups: 7.
*/
.theme-dark {
/* core variable overrides */
--background-modifier-active-hover: #e5e7eb;
--background-modifier-border: #d1d5db;
--background-modifier-border-hover: #9ca3af;
--background-modifier-hover: #f3f4f6;
--background-primary: #ffffff;
--background-primary-alt: #f9fafb;
--background-secondary: #eef2f7;
--background-secondary-alt: #e5e7eb;
--blockquote-background-color: transparent;
--blockquote-border-color: #6b7280;
--blockquote-color: #374151;
--callout-content-color: #374151;
--callout-title-color: #1f2937;
--code-background: #f8fafc;
--code-comment: #6b7280;
--code-function: #1d4ed8;
--code-important: #374151;
--code-keyword: #374151;
--code-normal: #111827;
--code-property: #1d4ed8;
--code-punctuation: #4b5563;
--code-string: #047857;
--code-tag: #1d4ed8;
--code-value: #047857;
--divider-color: #d1d5db;
--header-accent: var(--ogd-accent, #4b5563);
--header-accent-dark: #374151;
--header-bg-soft: #f3f4f6;
--header-line: #d1d5db;
--header-muted: #6b7280;
--header-text: #111827;
--interactive-accent: #4b5563;
--interactive-accent-hover: #374151;
--interactive-accent-rgb: 75, 85, 99;
--interactive-hover: #e5e7eb;
--interactive-normal: #f3f4f6;
--interactive-success: #047857;
--ribbon-background: #eef2f7;
--scrollbar-active-thumb-bg: #9ca3af;
--scrollbar-bg: transparent;
--scrollbar-thumb-bg: #cbd5e1;
--tab-background-active: #ffffff;
--tab-container-background: #eef2f7;
--tab-outline-color: #d1d5db;
--text-accent: #374151;
--text-accent-hover: #111827;
--text-faint: #9ca3af;
--text-muted: #6b7280;
--text-normal: #1a1a1a;
--text-on-accent: #ffffff;
--text-on-accent-inverted: #111827;
--text-selection: rgba(75, 85, 99, 0.18);
--titlebar-background: #eef2f7;
--titlebar-background-focused: #eef2f7;
}
body:not(.is-mobile).theme-dark {
/* --ogd-* tokens */
--ogd-09b-control-bg: var(--ogd-glass-control-bg, linear-gradient(180deg, rgba(51,65,85,0.55), rgba(30,41,59,0.30)));
@ -5388,7 +5330,7 @@ body.theme-dark :is(.markdown-rendered, .markdown-preview-view, .markdown-readin
/* <<< src/features/43-print-base.css */
/* 05-live-preview.css -> base/13 */
/* >>> src/base/13-live-preview.css */
/* =====================================================================
/* =====================================================================
v1.3.1 Live Preview Reading View parity (12-point upgrade)
Goal: minimize visual jump when toggling E between Source/Reading.
@ -8063,6 +8005,20 @@ body.ogd-auto-dark {
===================================================================== */
.theme-dark {
/* core variable overrides */
--blockquote-border-color: #6b7280;
--callout-content-color: #374151;
--callout-title-color: #1f2937;
--code-important: #374151;
--interactive-success: #047857;
--scrollbar-bg: transparent;
--text-on-accent-inverted: #111827;
--ogd-accent: #94a3b8;
--ogd-text-muted: #b8c2cf;
--ogd-text-soft: #9ca3af;
--ogd-code-muted: #9ca3af;
--background-primary: #1f2024;
--background-primary-alt: #25272d;
--background-secondary: #17181c;
@ -8073,8 +8029,8 @@ body.ogd-auto-dark {
--background-modifier-active-hover: #34373f;
--text-normal: var(--ogd-line-soft, #e5e7eb);
--text-muted: #9ca3af;
--text-faint: #6b7280;
--text-muted: #b8c2cf;
--text-faint: #9ca3af;
--text-accent: var(--ogd-line-strong, #cbd5e1);
--text-accent-hover: var(--ogd-surface-subtle, #f3f4f6);
--text-on-accent: var(--ogd-surface-base, #ffffff);
@ -8100,7 +8056,7 @@ body.ogd-auto-dark {
--header-accent: var(--ogd-accent, #94a3b8);
--header-accent-dark: var(--ogd-line-strong, #cbd5e1);
--header-text: var(--ogd-surface-subtle, #f3f4f6);
--header-muted: #9ca3af;
--header-muted: #b8c2cf;
--header-line: #353841;
--header-bg-soft: #25272d;
@ -8115,7 +8071,7 @@ body.ogd-auto-dark {
--code-background: #25272d;
--code-normal: var(--ogd-line-soft, #e5e7eb);
--code-comment: #6b7280;
--code-comment: #9ca3af;
--code-function: #93c5fd;
--code-keyword: var(--ogd-line-strong, #cbd5e1);
--code-property: #93c5fd;
@ -15530,9 +15486,9 @@ body:not(.is-mobile) :is(.modal.mod-community-theme, .modal .community-modal) :i
margin-top: 2px;
margin-bottom: 0;
padding-inline: 16px 12px;
border-color: rgba(148, 163, 184, 0.12);
border-color: rgba(100, 116, 139, 0.22);
background: rgba(248, 250, 252, 0.36);
box-shadow: none;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 0 0 0.5px rgba(148, 163, 184, 0.10);
color: #64748b;
}
@ -15685,7 +15641,7 @@ body:not(.is-mobile) :is(.modal.mod-community-theme, .modal .community-modal) :i
}
body:not(.is-mobile).theme-dark .nav-folder-title[data-path]:not([data-path*="/"]) {
border-color: rgba(148, 163, 184, 0.12);
border-color: rgba(203, 213, 225, 0.18);
background: rgba(15, 23, 42, 0.24);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
color: var(--ogd-text-soft, #94a3b8);