0b4f2dd403
Task 02b removed the `:root` palette blocks from `styles.css`, `chapters.css`, `rules/styles.css` and `skills-review/styles.css` on the grounds that `src/styles/tokens.css` is now the single source of truth. That is true for the Astro pages, which import the token layer through `BaseLayout.astro`. It is not true for the legacy pages, which are still the live site: `index.html`, `full-guide/`, `agents/`, `models/`, `summary/`, `rules/`, `skills/` and `skills-review/` link these stylesheets standalone and never load `tokens.css`. Every `var(--paper)`, `var(--ink)`, `var(--gold)` on those pages resolved to nothing. Restores each file's own palette verbatim from main -- including the drift (`--ink` is `#172f42` here and `#122534` there), because the migration's contract is that the site looks exactly as it does today. Adds `--font-sans` and `--font-mono` to each block so 02b's substitution of those two variables for the literal font stacks keeps resolving. Also adds `--allow-empty-input` to the stylelint lint-staged task. Since `.stylelintignore` landed, a commit touching only legacy CSS gives stylelint an all-ignored file list, which it treats as an error and which made lint-staged revert this change wholesale. The four blocks disappear with the files themselves at task 20. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
18 lines
10 KiB
CSS
18 lines
10 KiB
CSS
:root{--ink:#122534;--paper:#f6f3ed;--line:#d0d5d2;--muted:#65717a;--blue:#215675;--gold:#ebbf58;--violet:#6b668f;--font-sans:manrope,arial,sans-serif;--font-mono:'DM Mono',monospace;}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.6 var(--font-sans)}main{max-width:1500px;margin:auto;padding:0 4vw}.topbar{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);color:var(--muted);font:700 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.topbar a{color:var(--ink);text-decoration:none}.hero{max-width:1040px;padding:105px 0 75px}.eyebrow,.status,.purpose span,.review-grid span,.extras span,.preview header span{font:700 10px var(--font-mono);letter-spacing:.1em}.eyebrow{color:#a7483f}.hero h1,.method h2{margin:14px 0;font-size:clamp(48px,8vw,112px);line-height:.92;letter-spacing:-.07em}.hero em,.method em{color:#a7483f;font-family:Georgia,serif;font-weight:400}.hero p:last-child{max-width:620px;color:var(--muted);font-size:18px}.principles{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line);gap:1px}.principles article{display:grid;gap:10px;min-height:175px;padding:22px;background:var(--paper)}.principles b{color:#a7483f;font:22px var(--font-mono)}.principles strong{font-size:18px}.principles span{color:var(--muted);font-size:13px}.method{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;padding:120px 0 55px}.method h2{font-size:clamp(40px,5vw,70px)}.method ol{margin:0;padding-left:20px;color:var(--muted)}.method li+li{margin-top:9px}.catalog{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line);background:var(--line);gap:1px}.catalog aside{padding:24px;background:#e9eeed}.catalog label{display:block;margin:32px 0 7px;font:700 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.catalog input{width:100%;padding:12px;border:1px solid #9ba7a5;background:var(--paper);font:inherit}.count{color:var(--muted);font:11px var(--font-mono)}#skill-list{display:grid;gap:1px;border-top:1px solid var(--line)}#skill-list button{display:grid;grid-template-columns:1fr auto;gap:3px;padding:14px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left;cursor:pointer}#skill-list button span{grid-column:1/-1;color:var(--muted);font:10px var(--font-mono)}#skill-list button strong{font-size:13px}#skill-list button small{color:#a7483f;font:9px var(--font-mono);text-transform:uppercase}#skill-list button:hover,#skill-list button.active{color:var(--paper);background:var(--ink)}#skill-list button.active span,#skill-list button.active small{color:var(--gold)}.detail{min-width:0;padding:38px;background:var(--paper)}.detail>header{display:flex;justify-content:space-between;gap:25px;align-items:start}.status{color:#a7483f}.detail h2{margin:5px 0;font-size:clamp(30px,4vw,58px);letter-spacing:-.06em}.detail header p{margin:0;color:var(--muted)}.switch{display:flex;border:1px solid var(--ink)}button{font:inherit}.switch button,.preview button{padding:9px 11px;border:0;background:transparent;cursor:pointer;font:700 10px var(--font-mono)}.switch button.active{color:var(--paper);background:var(--ink)}.purpose{display:grid;grid-template-columns:150px 1fr;gap:20px;margin:45px 0 20px;padding:20px;background:var(--gold)}.purpose p{margin:0;font-size:18px;line-height:1.4}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.review-grid section{padding:22px;background:var(--paper)}.review-grid span{color:#a7483f}.review-grid ul{margin:14px 0 0;padding-left:20px}.review-grid li+li{margin-top:9px}.extras{margin:1px 0 25px;padding:18px 22px;color:var(--paper);background:var(--blue)}.extras span{display:block;margin-bottom:8px;color:var(--gold)}.vote-widget{display:grid;gap:10px;margin:1px 0 25px;padding:18px 22px;color:var(--ink);background:#e5eeeb;border-left:4px solid var(--gold)}.vote-widget>span{color:var(--blue);font:700 10px var(--font-mono);letter-spacing:.1em}.vote-buttons{display:flex;gap:1px;background:var(--line)}.vote-buttons button{flex:1;display:grid;gap:6px;padding:12px 14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;text-align:left;font:13px/1.3 inherit}.vote-buttons button b{color:var(--muted);font:11px var(--font-mono)}.vote-buttons button[aria-pressed="true"]{color:var(--paper);background:var(--ink)}.vote-buttons button[aria-pressed="true"] b{color:var(--gold)}.vote-note{margin:0;color:var(--muted);font-size:12px}.preview{border:1px solid var(--ink);background:var(--ink)}.preview header{display:flex;justify-content:space-between;gap:20px;padding:14px;color:var(--paper);border-bottom:1px solid #486175}.preview header span{color:var(--gold)}.preview button{color:var(--paper);border:1px solid #486175}.preview button:hover{background:#29455a}.preview pre{max-height:540px;margin:0;padding:24px;overflow:auto;color:#d6e1e4;background:#0c1a25}.preview code{font:12px/1.65 var(--font-mono);white-space:pre-wrap}.research{margin:100px 0;padding:35px;color:var(--paper);background:var(--violet)}.research .eyebrow{color:var(--gold)}.research>p:not(.eyebrow){max-width:850px;font:20px/1.45 Georgia,serif}.research div{display:flex;flex-wrap:wrap;gap:12px}.research a{padding:8px 10px;color:var(--paper);border:1px solid #ffffff66;font:10px var(--font-mono);text-decoration:none}footer{padding:10px 0 50px;color:var(--muted);font-size:12px}footer code{color:var(--ink)}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #a7483f;outline-offset:2px}@media(max-width:850px){.principles{grid-template-columns:1fr 1fr}.catalog{grid-template-columns:1fr}.method{grid-template-columns:1fr;gap:25px;padding-top:80px}.detail{padding:24px}.review-grid{grid-template-columns:1fr}}@media(max-width:530px){main{padding:0 16px}.topbar span{display:none}.hero{padding:65px 0 45px}.principles{grid-template-columns:1fr}.detail>header,.preview header{display:block}.switch{margin-top:18px;width:max-content}.purpose{grid-template-columns:1fr}.vote-buttons{flex-direction:column}.preview header div{margin-top:12px}}
|
|
/* Review surface overrides: keep suggestions readable and packages navigable. */
|
|
.extras{color:var(--ink);background:#e5eeeb;border-left:4px solid var(--blue)}.extras span{color:var(--blue)}.extras p{margin:0}.file-tabs{display:flex;gap:1px;overflow-x:auto;padding:10px 14px;background:#122534;border-bottom:1px solid #486175}.file-tabs button{display:grid;gap:1px;min-width:max-content;padding:7px 10px;color:#d6e1e4;background:transparent;border:1px solid #486175;cursor:pointer;text-align:left;font:11px var(--font-mono)}.file-tabs button span{color:#ebbf58;font-size:9px;text-transform:uppercase}.file-tabs button.active,.file-tabs button:hover{color:#122534;background:#ebbf58}.file-tabs button.active span,.file-tabs button:hover span{color:#122534}
|
|
|
|
/* The Markdown action is deliberately distinct from copy and download. */
|
|
.preview-title{display:grid;gap:2px}.preview-title small{color:#c1d1d8;font:9px/1.35 var(--font-mono);letter-spacing:.05em}.preview button.preview-markdown{color:var(--ink);border-color:var(--gold);background:var(--gold)}.preview button.preview-markdown:hover,.preview button.preview-markdown[aria-pressed="true"]{color:var(--paper);background:#a7483f;border-color:#a7483f}
|
|
|
|
/* Catalog rows are a fixed three-line column: author, title, then skill/status. */
|
|
#skill-list button{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:14px 36px 26px;gap:4px;height:108px;overflow:hidden}#skill-list button span{grid-column:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#skill-list button strong,#skill-list button small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}#skill-list button strong{max-height:36px;line-height:18px}#skill-list button small{max-height:26px;line-height:13px}
|
|
|
|
/* Package detail remains visible without compromising the row ceiling. */
|
|
#skill-list button{grid-template-rows:14px 36px 13px 13px;height:120px}#skill-list button small,#skill-list button em{display:block;max-height:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:13px}#skill-list button em{color:var(--blue);font:9px/13px var(--font-mono);font-style:normal}#skill-list button.active em{color:#c6d2d7}
|
|
|
|
/* Rendered Markdown stays inside the same bounded reading surface as source. */
|
|
.markdown-preview{max-height:540px;overflow:auto;padding:24px;color:#d6e1e4;background:#0c1a25}.markdown-preview>:first-child{margin-top:0}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{margin:1.5em 0 .5em;color:#fff;line-height:1.15}.markdown-preview h1{font-size:1.8em}.markdown-preview h2{font-size:1.45em}.markdown-preview h3{font-size:1.2em}.markdown-preview p,.markdown-preview li{max-width:78ch}.markdown-preview li+li{margin-top:.35em}.markdown-preview a{color:var(--gold)}.markdown-preview code{padding:.12em .3em;color:#fff;background:#29455a;white-space:break-spaces}.markdown-preview pre{max-height:none;margin:1em 0;padding:14px;border:1px solid #486175}.markdown-preview pre code{padding:0;background:transparent}.markdown-preview blockquote{margin:1em 0;padding:.3em 1em;border-left:3px solid var(--gold);color:#b9c8d0}.markdown-preview hr{border:0;border-top:1px solid #486175}.markdown-frontmatter{display:grid;grid-template-columns:max-content 1fr;gap:3px 14px;margin:0 0 24px;padding:12px;border:1px solid #486175;font:11px/1.5 var(--font-mono)}.markdown-frontmatter dt{color:var(--gold)}.markdown-frontmatter dd{margin:0}.markdown-table-wrap{max-width:100%;overflow:auto;margin:1em 0;border:1px solid #486175}.markdown-preview table{width:100%;min-width:460px;border-collapse:collapse;font-size:13px}.markdown-preview th,.markdown-preview td{padding:9px 11px;border:1px solid #486175;text-align:left;vertical-align:top}.markdown-preview th{color:var(--gold);background:#173046}
|
|
|
|
.markdown-toc{margin:0 0 24px;padding:12px 14px;border:1px solid #486175;background:#102b3a}.markdown-toc>span{color:var(--gold);font:700 10px var(--font-mono);letter-spacing:.1em}.markdown-toc ol{display:flex;flex-wrap:wrap;gap:7px 13px;margin:9px 0 0;padding:0;list-style:none}.markdown-toc li.level-2{margin-left:10px}.markdown-toc li.level-3{margin-left:20px}.markdown-toc a{font:12px/1.3 var(--font-sans);text-decoration:none}.markdown-toc a:hover{text-decoration:underline}
|