Files
malkuthro-ComfyUI-Koolook/web/guide/guide.css
T
malkuthro 27705be037 feat(sidebar): add onboarding guide (#107)
* feat(sidebar): add onboarding guide

* docs(guide): clarify tag search casing

* docs(guide): clarify workflow save copy

* docs(guide): refine sidebar visuals

* docs(guide): refresh save snapshot visual

* docs(guide): refresh load snapshot visual

* docs(guide): refresh module save visual

* docs(guide): use real sidebar screenshot

* docs(guide): render sidebar overview screenshot directly

* docs(guide): soften sidebar overview annotations

* docs(guide): clarify nodes action bar callout

* docs(guide): clarify workflow action bar callout

* docs(guide): simplify sidebar overview markers

* docs(guide): align sidebar overview intro

* docs(guide): use real snapshot recipe screenshots

* docs(guide): simplify project workflow diagram

* docs(guide): make function cards scannable

* docs(guide): sketch module recipe icon focus

* docs(guide): use real icon screenshot for module recipe

* docs(guide): add cropped workflow action screenshot

* docs(guide): use full toolbar screenshot for module recipe

* docs(guide): use real search screenshot

* docs(guide): use real node search screenshot

* docs(guide): standardize screenshot recipe cards

* docs(guide): tighten recipe callout styling

* docs: require visual QA for UI work

* docs(guide): address pass-2 review nits
2026-05-08 13:44:55 +02:00

526 lines
8.0 KiB
CSS

/* SPDX-FileCopyrightText: 2025-2026 Kforge Labs <https://github.com/malkuthro/ComfyUI-Koolook> */
/* SPDX-License-Identifier: GPL-3.0-only */
:root {
color-scheme: dark;
/* ForgeFlow-inspired static guide skin.
Source reference: ../ForgeFlow/docs/UI_DESIGN_SYSTEM.md */
--bg: #0e0e0e;
--panel: #151515;
--panel-2: #1a1a1f;
--titlebar: #24242c;
--text: #f9fafb;
--muted: #707982;
--muted-deep: #4d535d;
--line: #302f2f;
--blue: #4268ba;
--sky: #052f4a;
--sky-hover: #1a6d94;
--green: #4a8058;
--amber: #461901;
--purple: #452e83;
--pink: #77234d;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-width: 320px;
background:
radial-gradient(rgba(150, 150, 150, 0.08) 1px, transparent 1px),
var(--bg);
background-size: 13px 13px;
color: var(--text);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
.hero,
main {
width: min(1180px, calc(100% - 32px));
margin: 0 auto;
}
.hero {
padding: 48px 0 24px;
}
.eyebrow {
margin: 0 0 8px;
color: var(--blue);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
h1,
h2,
h3,
p {
margin-top: 0;
}
h1 {
max-width: 780px;
margin-bottom: 14px;
font-size: clamp(34px, 7vw, 68px);
line-height: 1;
letter-spacing: 0;
}
h2 {
margin-bottom: 12px;
font-size: clamp(27px, 4vw, 42px);
line-height: 1.05;
letter-spacing: 0;
}
h3 {
margin-bottom: 8px;
font-size: 18px;
letter-spacing: 0;
}
.lead {
max-width: 700px;
color: var(--muted);
font-size: 19px;
}
.section {
display: grid;
grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1.18fr);
gap: 28px;
align-items: center;
padding: 34px 0;
}
.section-copy {
max-width: 440px;
padding-left: 16px;
border-left: 4px solid var(--blue);
}
.section-copy.wide {
max-width: 720px;
grid-column: 1 / -1;
}
.section-copy p,
.band > p,
.cards p,
figcaption {
color: var(--muted);
}
.visual {
margin: 0;
}
.visual img {
display: block;
width: 100%;
height: auto;
border: 1px solid var(--line);
background: var(--panel);
border-radius: 8px;
}
.overview-map {
display: grid;
grid-template-columns: minmax(240px, 0.78fr) minmax(220px, 0.72fr);
gap: 48px;
align-items: center;
padding: 22px 28px 22px 22px;
border: 1px solid var(--line);
border-radius: 8px;
background: #101010;
}
.overview-shot {
position: relative;
width: min(100%, 450px);
margin: 0 auto;
overflow: visible;
}
.overview-shot img {
border-color: #3c3c3c;
background: #151515;
}
.overview-box {
position: absolute;
right: -18px;
width: 4px;
border: 0;
border-radius: 999px;
background: currentColor;
opacity: 0.78;
pointer-events: none;
}
.overview-box::after {
content: none;
}
.overview-snapshot {
top: 1.8%;
height: 6.8%;
color: #4a8058;
}
.overview-tools {
top: 9.7%;
height: 6.4%;
color: #4268ba;
}
.overview-search {
top: 17.8%;
height: 5.6%;
color: #d59b3d;
}
.overview-nodes {
top: 26.2%;
height: 8.2%;
color: #b64747;
}
.overview-workflows {
top: 34.9%;
height: 8%;
color: #452e83;
}
.overview-saved {
top: 43.5%;
height: 51.8%;
color: #4a8058;
}
.overview-callouts {
display: grid;
gap: 22px;
}
.overview-callout {
position: relative;
padding-left: 18px;
color: var(--blue);
}
.overview-callout::before {
content: "";
position: absolute;
top: 4px;
bottom: 4px;
left: 0;
width: 4px;
border-radius: 999px;
background: currentColor;
opacity: 0.82;
}
.overview-callout::after {
content: none;
}
.overview-callout h3 {
margin: 0 0 2px;
color: currentColor;
font-size: 20px;
}
.overview-callout p {
margin: 0;
color: var(--muted);
font-size: 14px;
}
.overview-callout.snapshot::before,
.overview-callout.saved::before,
.overview-callout.snapshot,
.overview-callout.saved {
color: var(--green);
}
.overview-callout.tools {
color: var(--blue);
}
.overview-callout.search {
color: #d59b3d;
}
.overview-callout.nodes {
color: #b64747;
}
.overview-callout.workflows {
color: var(--purple);
}
figcaption {
margin-top: 10px;
color: var(--muted);
font-size: 13px;
}
.band {
margin: 28px 0;
padding: 0;
border: 1px solid var(--line);
border-radius: 6px;
background: var(--panel);
overflow: hidden;
}
.band > div {
position: relative;
padding: 16px 22px;
background: var(--panel);
border-bottom: 1px solid var(--line);
}
.band > div::before {
content: "";
position: absolute;
inset: 0 auto 0 0;
width: 4px;
background: var(--green);
}
.band > p {
max-width: 760px;
padding: 18px 22px 0;
font-size: 17px;
}
.full {
margin: 18px 22px 22px;
}
.steps {
margin: 0;
padding-left: 20px;
color: var(--muted);
}
.steps li {
margin-bottom: 9px;
}
.steps strong {
color: var(--text);
font-weight: 650;
}
.cards {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 12px;
padding: 30px 0;
}
.cards article {
position: relative;
min-height: 142px;
padding: 18px 16px 16px 20px;
border: 1px solid var(--line);
border-radius: 6px;
background: var(--panel);
overflow: hidden;
}
.cards article::before {
content: "";
position: absolute;
inset: 0 auto 0 0;
width: 4px;
background: var(--blue);
}
.cards article:nth-child(2)::before {
background: var(--sky-hover);
}
.cards article:nth-child(3)::before {
background: var(--purple);
}
.cards article:nth-child(4)::before {
background: var(--green);
}
.cards article:nth-child(5)::before {
background: var(--pink);
}
.function-list {
display: flex;
flex-wrap: wrap;
gap: 7px;
margin-top: 14px;
}
.function-list span {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 8px;
border: 1px solid #3d3d3d;
border-radius: 4px;
background: #1a1a1f;
color: var(--text);
font-size: 12px;
font-weight: 700;
line-height: 1.2;
}
.recipes {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
padding: 34px 0 64px;
}
.recipe-real {
padding: 14px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--panel);
}
.recipe-real img {
border-color: #454545;
background: #101010;
}
.recipe-shot {
position: relative;
}
.focus-dot {
position: absolute;
width: 72px;
height: 72px;
border-radius: 999px;
background: rgb(66 104 186 / 30%);
box-shadow: 0 0 0 2px rgb(66 104 186 / 88%);
pointer-events: none;
}
.focus-save {
right: 3%;
bottom: 7%;
}
.focus-load {
left: 7%;
top: 39%;
}
.focus-module {
right: 0.5%;
bottom: 0.5%;
background: rgb(201 148 75 / 30%);
box-shadow: 0 0 0 2px rgb(201 148 75 / 88%);
}
.focus-node-search {
left: 12%;
top: 19%;
background: rgb(74 128 88 / 30%);
box-shadow: 0 0 0 2px rgb(74 128 88 / 88%);
}
.focus-workflow-search {
left: 10%;
top: 16%;
background: rgb(69 46 131 / 30%);
box-shadow: 0 0 0 2px rgb(69 46 131 / 88%);
}
.recipe-callout {
width: fit-content;
max-width: min(520px, calc(100% - 44px));
margin: 18px auto 0;
padding: 14px 18px 14px 22px;
border-left: 5px solid var(--blue);
border-radius: 8px;
background: #111111;
box-shadow: 0 14px 30px rgb(0 0 0 / 26%);
}
.recipe-callout p {
margin: 0;
color: var(--muted);
font-size: 17px;
line-height: 1.55;
}
.recipe-callout strong {
color: var(--text);
font-size: 18px;
font-weight: 800;
}
.recipe-callout.amber {
border-left-color: #c9944b;
}
.recipe-callout.green {
border-left-color: var(--green);
}
.recipe-callout.purple {
border-left-color: var(--purple);
}
@media (max-width: 980px) {
.cards {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 860px) {
.section,
.recipes {
grid-template-columns: 1fr;
}
.overview-map {
grid-template-columns: 1fr;
}
.cards article {
min-height: 0;
}
}
@media (max-width: 520px) {
.hero,
main {
width: min(100% - 20px, 1180px);
}
.hero {
padding-top: 34px;
}
.band {
padding: 18px;
}
.cards {
grid-template-columns: 1fr;
}
}