chore: import upstream snapshot with attribution
@@ -0,0 +1,62 @@
|
||||
# RunCat 365 — GitHub Pages
|
||||
|
||||
The project website published at <https://runcat-dev.github.io/RunCat365/>.
|
||||
|
||||
It is a static site rendered in the browser by [lobster.js](https://hacknock.github.io/lobsterjs/), a Markdown parser loaded from a CDN. There is no build step, bundler, or dependency to install — editing a Markdown file and pushing is all it takes to update the page.
|
||||
|
||||
## Files
|
||||
|
||||
| File | Role |
|
||||
| :--- | :--- |
|
||||
| `index.html` | Loader shell for the landing page. Picks the content file by language and hands it to lobster.js. |
|
||||
| `privacy_policy.html` | Loader shell for the privacy policy. Same mechanism as `index.html`. |
|
||||
| `content.md` / `content.ja.md` | Landing page content (English / Japanese). |
|
||||
| `privacy_policy.md` / `privacy_policy.ja.md` | Privacy policy content (English / Japanese). |
|
||||
| `style.css` | Shared stylesheet targeting lobster.js `lbs-*` classes. |
|
||||
| `images/` | Screenshots, demo GIF, Microsoft Store badge, and Open Graph thumbnail. |
|
||||
|
||||
The two `.html` files are thin loaders — almost all content lives in the `.md` files.
|
||||
|
||||
## Editing content
|
||||
|
||||
Edit the relevant `.md` file directly. lobster.js renders Markdown plus a few block extensions:
|
||||
|
||||
- `:::header` … `:::` — page title block
|
||||
- `:::footer` … `:::` — footer block (links, language switcher, copyright)
|
||||
- `:::warp <name>` … `:::` — a column referenced from a silent table (`~ | [~name] | …`); used for the feature cards and the two-column "What you can monitor" layout
|
||||
- `:::details <summary>` … `:::` — collapsible FAQ entry
|
||||
- `` — image with an explicit width
|
||||
|
||||
Any text change is reflected on the next page load — no rebuild required. Keep the English and Japanese files in sync when you change wording or structure.
|
||||
|
||||
## Language switching
|
||||
|
||||
The language is chosen by the `?lang` query parameter, read in the `<script>` of each `.html` loader:
|
||||
|
||||
- no parameter (or anything other than `ja`) → English (`content.md`)
|
||||
- `?lang=ja` → Japanese (`content.ja.md`)
|
||||
|
||||
The footer of each page links between the two. To add a new language:
|
||||
|
||||
1. Create `content.<lang>.md` (and `privacy_policy.<lang>.md`).
|
||||
2. Extend the language-selection logic in `index.html` and `privacy_policy.html` to map the new `?lang` value to that file.
|
||||
3. Add a link to the new language in every footer block.
|
||||
|
||||
## Styling
|
||||
|
||||
`style.css` targets the `lbs-*` class names that lobster.js emits (`.lbs-heading-1`, `.lbs-paragraph`, `.lbs-table-silent`, `.lbs-details`, `.lbs-footer`, …). The privacy policy page carries a `privacy-policy` body class so its title can be styled smaller than the landing-page hero.
|
||||
|
||||
## Previewing locally
|
||||
|
||||
lobster.js fetches the Markdown and its own module over HTTP, so opening the files with `file://` will not work. Serve the directory and open it over `http://`:
|
||||
|
||||
```sh
|
||||
cd docs
|
||||
python3 -m http.server 8000
|
||||
# then open http://localhost:8000/index.html
|
||||
# Japanese: http://localhost:8000/index.html?lang=ja
|
||||
```
|
||||
|
||||
## Deployment
|
||||
|
||||
The site is served by GitHub Pages from this `docs/` directory on the default branch. Pushing changes here updates the live site; there is nothing to build or deploy manually.
|
||||
@@ -0,0 +1,96 @@
|
||||
:::header
|
||||
|
||||
# RunCat 365
|
||||
|
||||
タスクバーでネコ飼ってみませんか?
|
||||
:::
|
||||
|
||||
ネコの走る速さでデバイスの CPU 負荷がわかります。
|
||||
タスクバーをちらっと見るだけで十分です。
|
||||
|
||||

|
||||
|
||||
[](https://apps.microsoft.com/detail/9nw5lpnvwfwj)
|
||||
|
||||
Microsoft Store で配信中 · [GitHub で見る](https://github.com/runcat-dev/RunCat365)
|
||||
|
||||
## 特長
|
||||
|
||||
~ | [~load] | [~metrics] | [~custom] |
|
||||
~ | :--- | :--- | :--- |
|
||||
|
||||
:::warp load
|
||||
|
||||
### ひと目で負荷がわかる
|
||||
|
||||
CPU が忙しくなるほどネコは速く走り、落ち着いているときはゆっくり歩きます。数字を読む必要はありません。走る姿を眺めるだけです。
|
||||
:::
|
||||
|
||||
:::warp metrics
|
||||
|
||||
### 豊富なシステムメトリクス
|
||||
|
||||
CPU、GPU、メモリ、温度、ストレージ、ネットワーク。気になる情報をすべてタスクバーから見守れます。
|
||||
:::
|
||||
|
||||
:::warp custom
|
||||
|
||||
### 生活に癒しと息抜きを
|
||||
|
||||
作業の合間にふと目に映るだけでちょっとした癒しを提供します。内蔵のミニゲームでひと休みすることもできます。
|
||||
:::
|
||||
|
||||
## モニタリングできる項目
|
||||
|
||||
~ | [~monitor-shot] | [~monitor-list] |
|
||||
~ | :--- | :--- |
|
||||
|
||||
:::warp monitor-shot
|
||||

|
||||
:::
|
||||
|
||||
:::warp monitor-list
|
||||
タスクバーをちらっと見るだけで、気になるメトリクスを確認できます。
|
||||
|
||||
- CPU 使用率
|
||||
- GPU 使用率
|
||||
- メモリパフォーマンス
|
||||
- マシンの温度
|
||||
- ストレージ容量
|
||||
- ネットワーク速度
|
||||
|
||||
:::
|
||||
|
||||
## カスタムランナー
|
||||
|
||||
ネコが好みでなくても大丈夫。自分でキーフレームアニメーションを用意すれば自作のランナーを走らせられます。
|
||||
|
||||

|
||||
|
||||
## ちょっとしたゲーム
|
||||
|
||||
ひと休みしたいときは、スペースキーだけで遊べるシンプルなエンドレスゲームをどうぞ。
|
||||
|
||||

|
||||
|
||||
## よくある質問
|
||||
|
||||
:::details 対応している言語は?
|
||||
RunCat 365 は 7 つの言語に対応しています。英語、日本語、中国語(簡体字・繁体字)、フランス語、ドイツ語、スペイン語。
|
||||
:::
|
||||
|
||||
:::details macOS 版の RunCat と同じもの?
|
||||
いいえ。RunCat 365 は Windows 版で、Windows Forms で作られ、Microsoft Store で配信されています。RunCat の精神を受け継いでいますが、別のアプリです。
|
||||
:::
|
||||
|
||||
:::details バグ報告や機能リクエストはどこで?
|
||||
[GitHub リポジトリ](https://github.com/runcat-dev/RunCat365)でテンプレートに従って Issue を作成してください。開発者同士の議論には、[RunCat Developers コミュニティ](https://runcat-dev.github.io)をご利用ください。
|
||||
:::
|
||||
|
||||
:::footer
|
||||
[プライバシーポリシー](./privacy_policy.html?lang=ja) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io)
|
||||
|
||||
[English](./) · **日本語**
|
||||
|
||||
© 2022 Takuto Nakamura (Kyome22)
|
||||
:::
|
||||
@@ -0,0 +1,95 @@
|
||||
:::header
|
||||
|
||||
# RunCat 365
|
||||
|
||||
Cat living in the taskbar.
|
||||
:::
|
||||
|
||||
The cat's running speed shows you the CPU load of your device — one glance at the taskbar is all it takes.
|
||||
|
||||

|
||||
|
||||
[](https://apps.microsoft.com/detail/9nw5lpnvwfwj)
|
||||
|
||||
Available on the Microsoft Store · [View on GitHub](https://github.com/runcat-dev/RunCat365)
|
||||
|
||||
## Features
|
||||
|
||||
~ | [~load] | [~metrics] | [~comfort] |
|
||||
~ | :--- | :--- | :--- |
|
||||
|
||||
:::warp load
|
||||
|
||||
### Load at a glance
|
||||
|
||||
The cat speeds up as your CPU gets busier and slows to a stroll when things are calm. No numbers to read — just watch it run.
|
||||
:::
|
||||
|
||||
:::warp metrics
|
||||
|
||||
### Rich system metrics
|
||||
|
||||
CPU, GPU, memory, temperature, storage, and network — keep an eye on everything that matters right from the taskbar.
|
||||
:::
|
||||
|
||||
:::warp comfort
|
||||
|
||||
### A little comfort in your day
|
||||
|
||||
Just catching sight of it between tasks brings a small moment of calm. You can also take a breather with the built-in mini-game.
|
||||
:::
|
||||
|
||||
## What you can monitor
|
||||
|
||||
~ | [~monitor-shot] | [~monitor-list] |
|
||||
~ | :--- | :--- |
|
||||
|
||||
:::warp monitor-shot
|
||||

|
||||
:::
|
||||
|
||||
:::warp monitor-list
|
||||
A glance at the taskbar shows you the metrics you care about:
|
||||
|
||||
- CPU usage
|
||||
- GPU usage
|
||||
- Memory performance
|
||||
- Machine temperature
|
||||
- Storage capacity
|
||||
- Network speed
|
||||
|
||||
:::
|
||||
|
||||
## Custom runners
|
||||
|
||||
Not a cat person? No problem. Prepare your own keyframe animation and run a runner of your own making.
|
||||
|
||||

|
||||
|
||||
## A little game
|
||||
|
||||
When you need a break, play a simple endless game controlled with nothing but the space bar.
|
||||
|
||||

|
||||
|
||||
## FAQ
|
||||
|
||||
:::details What languages are supported?
|
||||
RunCat 365 speaks seven languages: English, Japanese, Chinese (Simplified and Traditional), French, German, and Spanish.
|
||||
:::
|
||||
|
||||
:::details Is this the same as the original RunCat for macOS?
|
||||
No. RunCat 365 is the Windows edition, built with Windows Forms and distributed via the Microsoft Store. It shares the spirit of RunCat but is a separate app.
|
||||
:::
|
||||
|
||||
:::details Where do I report a bug or request a feature?
|
||||
Open an Issue on the [GitHub repository](https://github.com/runcat-dev/RunCat365) following the template. For contributor discussion, the [RunCat Developers community](https://runcat-dev.github.io) is the place to be.
|
||||
:::
|
||||
|
||||
:::footer
|
||||
[Privacy Policy](./privacy_policy.html) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io)
|
||||
|
||||
**English** · [日本語](./?lang=ja)
|
||||
|
||||
© 2022 Takuto Nakamura (Kyome22)
|
||||
:::
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 41 KiB |
@@ -0,0 +1,32 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>RunCat 365</title>
|
||||
<meta name="keywords" content="RunCat,Windows,cat,system,indicator,taskbar,CPU" />
|
||||
<meta name="author" content="Kyome22" />
|
||||
<meta name="description" content="Cat living in the taskbar." />
|
||||
<meta property="og:url" content="https://runcat-dev.github.io/RunCat365/index.html" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="RunCat 365" />
|
||||
<meta property="og:description" content="Cat living in the taskbar." />
|
||||
<meta property="og:site_name" content="RunCat 365" />
|
||||
<meta
|
||||
property="og:image"
|
||||
content="https://runcat-dev.github.io/RunCat365/images/og_thumbnail.png"
|
||||
/>
|
||||
<link href="https://fonts.googleapis.com/css?family=Exo+2:400,400i,600,600i,700,700i" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="./style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="content"></div>
|
||||
<script type="module">
|
||||
import { loadMarkdown } from "https://hacknock.github.io/lobsterjs/lobster.js";
|
||||
const language = new URLSearchParams(location.search).get("lang") === "ja" ? "ja" : "en";
|
||||
document.documentElement.lang = language;
|
||||
const source = language === "ja" ? "./content.ja.md" : "./content.md";
|
||||
loadMarkdown(source, document.getElementById("content"));
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,22 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>RunCat 365 — Privacy Policy</title>
|
||||
<meta name="author" content="Kyome22" />
|
||||
<meta name="description" content="RunCat 365 Privacy Policy" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Exo+2:400,400i,600,600i,700,700i" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="./style.css" />
|
||||
</head>
|
||||
<body class="privacy-policy">
|
||||
<div id="content"></div>
|
||||
<script type="module">
|
||||
import { loadMarkdown } from "https://hacknock.github.io/lobsterjs/lobster.js";
|
||||
const language = new URLSearchParams(location.search).get("lang") === "ja" ? "ja" : "en";
|
||||
document.documentElement.lang = language;
|
||||
const source = language === "ja" ? "./privacy_policy.ja.md" : "./privacy_policy.md";
|
||||
loadMarkdown(source, document.getElementById("content"));
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,46 @@
|
||||
:::header
|
||||
|
||||
# RunCat 365 プライバシーポリシー
|
||||
|
||||
[← RunCat 365 に戻る](./index.html?lang=ja)
|
||||
:::
|
||||
|
||||
中村 拓人(以下、開発者)は、お客様およびユーザーのプライバシーを重視しています。開発者はプライバシーが重要な問題であると認識しており、あなたのプライバシー保護を念頭に置いてサービスを設計・運営しています。このプライバシーポリシーは、RunCat 365 において開発者がどのような情報を収集・利用するか、またあなたの情報の安全性について説明するものです。RunCat 365 を利用することで、あなたはこのプライバシーポリシーに同意したものとみなされます。
|
||||
|
||||
## 1. 総則
|
||||
|
||||
### 1.1. このプライバシーポリシーの適用範囲
|
||||
|
||||
このプライバシーポリシーは、すべてのバージョンの RunCat 365 で提供されるすべてのサービスに適用されます。開発者は、サービスごとに個別のプライバシーポリシーまたは利用規約(個別契約)を定めることがあり、個別契約で情報の取り扱いを別途定めている場合は、個別契約の定めが優先されます。
|
||||
|
||||
なお、RunCat 365 に表示されたリンクから外部ウェブサイト等へ移動した場合の、リンク先における情報の取り扱いには、このプライバシーポリシーは適用されません。
|
||||
|
||||
### 1.2. 個人情報
|
||||
|
||||
個人情報には、あなたの氏名、住所、社会保障番号、メールアドレス、地理的位置情報が含まれます。
|
||||
|
||||
## 2. 開発者によるユーザー情報の取り扱い
|
||||
|
||||
### 2.1. 決済に必要な情報
|
||||
|
||||
追加機能の購入など一部の購入サービスでは、決済のためにユーザーのクレジットカード情報を利用することがあります。この決済情報は、第三者が管理する決済プラットフォーム側に保存され、開発者が支払い情報を取得することはありません。
|
||||
|
||||
### 2.2. その他の情報
|
||||
|
||||
開発者は、RunCat 365 を通じてその他の個人情報を収集・利用することはありません。どうぞ安心して RunCat 365 をご利用ください。
|
||||
|
||||
## 3. このプライバシーポリシーの変更
|
||||
|
||||
このプライバシーポリシーは、随時変更されることがあります。開発者がこのプライバシーポリシーを変更する場合は、状況に応じて適切な方法で変更や更新を通知します。変更の掲載後も RunCat 365 を継続して利用した場合、あなたはその変更に同意したものとみなされます。
|
||||
|
||||
## 4. 開発者への連絡方法
|
||||
|
||||
このプライバシーポリシーまたは RunCat 365 に関するご質問、ご意見、その他のお問い合わせは、GitHub Issues を通じて開発者までお寄せください。
|
||||
|
||||
:::footer
|
||||
[プライバシーポリシー](./privacy_policy.html?lang=ja) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io)
|
||||
|
||||
[English](./privacy_policy.html) · **日本語**
|
||||
|
||||
© 2022 Takuto Nakamura (Kyome22)
|
||||
:::
|
||||
@@ -0,0 +1,46 @@
|
||||
:::header
|
||||
|
||||
# RunCat 365 Privacy Policy
|
||||
|
||||
[← Back to RunCat 365](./index.html)
|
||||
:::
|
||||
|
||||
Takuto Nakamura (hereinafter referred to as the developer) takes the privacy of his customers and users seriously. The developer recognizes that privacy is an important issue, so he designs and operates his services with the protection of your privacy in mind. This privacy policy explains what kind of information the developer collects, uses, and the security of your information in RunCat 365. By using RunCat 365, you consent to this privacy policy.
|
||||
|
||||
## 1. General rules
|
||||
|
||||
### 1.1. Scope of this privacy policy
|
||||
|
||||
This privacy policy applies to all services provided in all versions of RunCat 365. The developer may separately set a privacy policy or terms of use (individual contracts) for each service, and in the case of specifying the handling of information separately in the individual contracts, the provision of the individual contracts will prevail.
|
||||
|
||||
Please note that this privacy policy does not apply to the handling of information at the link destination when moving from a link displayed on RunCat 365 to an external website or the like.
|
||||
|
||||
### 1.2. Personal information
|
||||
|
||||
Personal information includes your name, physical address, social numbers, email address and geographic location information.
|
||||
|
||||
## 2. How the developer deals with the user's information
|
||||
|
||||
### 2.1. Information necessary for settlement
|
||||
|
||||
Some purchase services, such as the purchase of additional functions, may use credit card information of the user for settlement. This settlement information is stored on the side of the settlement platform managed by a third party, and the developer will not acquire payment information.
|
||||
|
||||
### 2.2. Other information
|
||||
|
||||
The developer does not collect and use any other personal information through RunCat 365. Please use RunCat 365 with confidence.
|
||||
|
||||
## 3. Changes to this privacy policy
|
||||
|
||||
This privacy policy may change from time to time. If the developer decides to change this privacy policy, he will provide you additional forms of notice of modifications or updates as appropriate under the circumstances. Your continued use of RunCat 365 following the posting of changes will mean you accept those changes.
|
||||
|
||||
## 4. How to contact the developer
|
||||
|
||||
If you have any questions, comments, or other inquiries regarding this Privacy Policy or RunCat 365, please submit them to the developer via GitHub Issues.
|
||||
|
||||
:::footer
|
||||
[Privacy Policy](./privacy_policy.html) · [GitHub](https://github.com/runcat-dev/RunCat365) · [RunCat Developers](https://runcat-dev.github.io)
|
||||
|
||||
**English** · [日本語](./privacy_policy.html?lang=ja)
|
||||
|
||||
© 2022 Takuto Nakamura (Kyome22)
|
||||
:::
|
||||
@@ -0,0 +1,456 @@
|
||||
:root {
|
||||
--lbs-bg: #f5f5f5;
|
||||
--lbs-surface: #ffffff;
|
||||
--lbs-ink: #2c2f36;
|
||||
--lbs-ink-soft: #4a4f5a;
|
||||
--lbs-muted: #606060;
|
||||
--lbs-line: #e2e2e2;
|
||||
--lbs-accent: #5f9ea0;
|
||||
--lbs-accent-strong: #008b8b;
|
||||
--lbs-accent-soft: #e3eeef;
|
||||
--lbs-code-bg: #ededed;
|
||||
--lbs-radius: 14px;
|
||||
--lbs-shadow: 0 1px 2px rgba(44, 47, 54, 0.04), 0 8px 24px rgba(44, 47, 54, 0.06);
|
||||
--lbs-shadow-strong: 0 2px 4px rgba(44, 47, 54, 0.05), 0 14px 32px rgba(44, 47, 54, 0.1);
|
||||
--lbs-font-sans: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;
|
||||
--lbs-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background: var(--lbs-bg);
|
||||
color: var(--lbs-ink);
|
||||
font-family: var(--lbs-font-sans);
|
||||
line-height: 1.7;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
#content {
|
||||
max-width: 880px;
|
||||
margin: 0 auto;
|
||||
padding: 3.5rem 1.5rem 4rem;
|
||||
}
|
||||
|
||||
/* ----- Header ----- */
|
||||
|
||||
.lbs-header {
|
||||
padding-bottom: 2rem;
|
||||
margin-bottom: 2.5rem;
|
||||
border-bottom: 1px solid var(--lbs-line);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.lbs-header .lbs-heading-1 {
|
||||
margin: 0;
|
||||
font-style: italic;
|
||||
font-size: clamp(2.75rem, 8vw, 4.5rem);
|
||||
line-height: 1.05;
|
||||
letter-spacing: -0.02em;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.lbs-header .lbs-paragraph {
|
||||
margin: 0.85rem 0 0;
|
||||
color: var(--lbs-ink-soft);
|
||||
font-weight: 600;
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
.lbs-header .lbs-paragraph a {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* ----- Hero (lead, demo, download) ----- */
|
||||
|
||||
.lbs-header + .lbs-paragraph {
|
||||
max-width: 36rem;
|
||||
margin: 0 auto 2rem;
|
||||
text-align: center;
|
||||
font-size: 1.1rem;
|
||||
color: var(--lbs-ink-soft);
|
||||
}
|
||||
|
||||
.lbs-image {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.lbs-paragraph:has(.lbs-image) {
|
||||
text-align: center;
|
||||
margin: 1.5rem 0;
|
||||
}
|
||||
|
||||
.lbs-image[src*="demo"] {
|
||||
width: 600px;
|
||||
border-radius: var(--lbs-radius);
|
||||
box-shadow: var(--lbs-shadow-strong);
|
||||
}
|
||||
|
||||
/* ----- Screenshots ----- */
|
||||
|
||||
.lbs-image[src*="overview"],
|
||||
.lbs-image[src*="custom_runner"],
|
||||
.lbs-image[src*="endless_game"] {
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
border-radius: var(--lbs-radius);
|
||||
box-shadow: var(--lbs-shadow);
|
||||
}
|
||||
|
||||
/* ----- Microsoft Store badge ----- */
|
||||
|
||||
.lbs-image[src*="download_from_microsoft_store"] {
|
||||
height: 60px;
|
||||
width: auto;
|
||||
transition: opacity 0.15s ease, transform 0.15s ease;
|
||||
}
|
||||
|
||||
.lbs-paragraph:has(.lbs-image[src*="download_from_microsoft_store"]) {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.lbs-paragraph a:active .lbs-image[src*="download_from_microsoft_store"] {
|
||||
opacity: 0.7;
|
||||
transform: translateY(2px);
|
||||
}
|
||||
|
||||
/* availability line directly under the store badge */
|
||||
.lbs-paragraph:has(.lbs-image[src*="download_from_microsoft_store"]) + .lbs-paragraph {
|
||||
text-align: center;
|
||||
color: var(--lbs-muted);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
/* ----- Headings ----- */
|
||||
|
||||
.lbs-heading-2 {
|
||||
margin: 3.5rem 0 1rem;
|
||||
font-size: 1.65rem;
|
||||
letter-spacing: -0.015em;
|
||||
font-weight: 700;
|
||||
scroll-margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.lbs-heading-3 {
|
||||
margin: 0 0 0.5rem;
|
||||
font-size: 1.15rem;
|
||||
letter-spacing: -0.005em;
|
||||
font-weight: 600;
|
||||
color: var(--lbs-ink);
|
||||
}
|
||||
|
||||
/* ----- Body text ----- */
|
||||
|
||||
.lbs-paragraph {
|
||||
margin: 0.85rem 0;
|
||||
color: var(--lbs-ink-soft);
|
||||
}
|
||||
|
||||
.lbs-strong {
|
||||
color: var(--lbs-ink);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.lbs-emphasis {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.lbs-ul,
|
||||
.lbs-ol {
|
||||
padding-left: 1.4rem;
|
||||
margin: 1rem 0;
|
||||
color: var(--lbs-ink-soft);
|
||||
}
|
||||
|
||||
.lbs-list-item {
|
||||
margin: 0.45rem 0;
|
||||
}
|
||||
|
||||
.lbs-list-item::marker {
|
||||
color: var(--lbs-accent);
|
||||
}
|
||||
|
||||
/* ----- Links ----- */
|
||||
|
||||
.lbs-paragraph a,
|
||||
.lbs-list-item a,
|
||||
.lbs-details a {
|
||||
color: var(--lbs-accent-strong);
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid rgba(0, 139, 139, 0.25);
|
||||
transition: color 0.15s ease, border-color 0.15s ease;
|
||||
}
|
||||
|
||||
.lbs-paragraph a:hover,
|
||||
.lbs-list-item a:hover,
|
||||
.lbs-details a:hover {
|
||||
color: var(--lbs-accent);
|
||||
border-bottom-color: var(--lbs-accent);
|
||||
}
|
||||
|
||||
/* ----- Inline code ----- */
|
||||
|
||||
.lbs-code-span {
|
||||
font-family: var(--lbs-font-mono);
|
||||
font-size: 0.88em;
|
||||
background: var(--lbs-code-bg);
|
||||
color: var(--lbs-accent-strong);
|
||||
padding: 0.12em 0.45em;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* ----- Feature cards (silent table / Warp) ----- */
|
||||
|
||||
.lbs-table.lbs-table-silent {
|
||||
display: block;
|
||||
margin: 1.5rem 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.lbs-table-silent thead,
|
||||
.lbs-table-silent tbody {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr:has(th:nth-child(3)) {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
.lbs-table-silent tr:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.lbs-table-silent th {
|
||||
display: block;
|
||||
background: var(--lbs-surface);
|
||||
border: 1px solid var(--lbs-line);
|
||||
border-radius: var(--lbs-radius);
|
||||
padding: 1.5rem;
|
||||
text-align: left;
|
||||
font-weight: 400;
|
||||
box-shadow: var(--lbs-shadow);
|
||||
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
|
||||
}
|
||||
|
||||
.lbs-table-silent th:hover {
|
||||
transform: translateY(-3px);
|
||||
box-shadow: var(--lbs-shadow-strong);
|
||||
border-color: var(--lbs-accent);
|
||||
}
|
||||
|
||||
.lbs-table-silent th .lbs-heading-3 {
|
||||
margin: 0 0 0.5rem;
|
||||
}
|
||||
|
||||
.lbs-table-silent th .lbs-paragraph {
|
||||
margin: 0;
|
||||
font-size: 0.96rem;
|
||||
}
|
||||
|
||||
/* ----- Image + list columns (monitor section) ----- */
|
||||
|
||||
.lbs-table-silent tr:has(.lbs-image) {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 2.5rem;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr:has(.lbs-image) th {
|
||||
background: none;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr:has(.lbs-image) th:hover {
|
||||
transform: none;
|
||||
box-shadow: none;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr:has(.lbs-image) .lbs-paragraph {
|
||||
font-size: 1rem;
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr:has(.lbs-image) .lbs-ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ----- Blockquote ----- */
|
||||
|
||||
.lbs-blockquote {
|
||||
margin: 1.5rem 0;
|
||||
padding: 1.1rem 1.4rem;
|
||||
background: var(--lbs-surface);
|
||||
border: 1px solid var(--lbs-line);
|
||||
border-left: 4px solid var(--lbs-accent);
|
||||
border-radius: 10px;
|
||||
box-shadow: var(--lbs-shadow);
|
||||
}
|
||||
|
||||
.lbs-blockquote .lbs-paragraph {
|
||||
margin: 0;
|
||||
color: var(--lbs-ink);
|
||||
}
|
||||
|
||||
/* ----- Details / FAQ ----- */
|
||||
|
||||
.lbs-details {
|
||||
background: var(--lbs-surface);
|
||||
border: 1px solid var(--lbs-line);
|
||||
border-radius: 12px;
|
||||
padding: 0.25rem 1.1rem;
|
||||
margin: 0.65rem 0;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.lbs-details:hover {
|
||||
border-color: rgba(95, 158, 160, 0.5);
|
||||
}
|
||||
|
||||
.lbs-details[open] {
|
||||
border-color: var(--lbs-accent);
|
||||
box-shadow: 0 6px 18px rgba(95, 158, 160, 0.12);
|
||||
}
|
||||
|
||||
.lbs-summary {
|
||||
cursor: pointer;
|
||||
padding: 0.85rem 1.75rem 0.85rem 0;
|
||||
font-weight: 600;
|
||||
color: var(--lbs-ink);
|
||||
list-style: none;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.lbs-summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lbs-summary::after {
|
||||
content: "+";
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
font-size: 1.4rem;
|
||||
line-height: 1;
|
||||
color: var(--lbs-accent);
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
|
||||
.lbs-details[open] .lbs-summary::after {
|
||||
content: "−";
|
||||
}
|
||||
|
||||
.lbs-details .lbs-paragraph {
|
||||
margin: 0 0 0.9rem;
|
||||
}
|
||||
|
||||
/* ----- Footer ----- */
|
||||
|
||||
.lbs-footer {
|
||||
margin-top: 4rem;
|
||||
padding-top: 1.5rem;
|
||||
border-top: 1px solid var(--lbs-line);
|
||||
color: var(--lbs-muted);
|
||||
font-size: 0.9rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.lbs-footer .lbs-paragraph {
|
||||
margin: 0.35rem 0;
|
||||
color: var(--lbs-muted);
|
||||
}
|
||||
|
||||
.lbs-footer a {
|
||||
color: var(--lbs-muted);
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid transparent;
|
||||
transition: color 0.15s ease, border-color 0.15s ease;
|
||||
}
|
||||
|
||||
.lbs-footer a:hover {
|
||||
color: var(--lbs-accent-strong);
|
||||
border-bottom-color: var(--lbs-accent-strong);
|
||||
}
|
||||
|
||||
/* ----- Language switcher (footer) ----- */
|
||||
|
||||
.lbs-footer .lbs-strong {
|
||||
color: var(--lbs-accent-strong);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* ----- Legal pages (restrained, document-like header) ----- */
|
||||
|
||||
.privacy-policy .lbs-header {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.privacy-policy .lbs-header .lbs-heading-1 {
|
||||
font-size: 1.9rem;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
letter-spacing: -0.01em;
|
||||
}
|
||||
|
||||
.privacy-policy .lbs-header .lbs-paragraph {
|
||||
font-size: 0.95rem;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.privacy-policy .lbs-header + .lbs-paragraph {
|
||||
max-width: none;
|
||||
margin: 0.85rem 0;
|
||||
text-align: left;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
/* ----- Responsive ----- */
|
||||
|
||||
@media (max-width: 640px) {
|
||||
#content {
|
||||
padding: 2.5rem 1.25rem 3rem;
|
||||
}
|
||||
|
||||
.lbs-image[src*="demo"] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr,
|
||||
.lbs-table-silent tr:has(th:nth-child(3)),
|
||||
.lbs-table-silent tr:has(.lbs-image) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.lbs-table-silent tr:has(.lbs-image) {
|
||||
gap: 1.5rem;
|
||||
}
|
||||
|
||||
.lbs-heading-2 {
|
||||
margin-top: 2.75rem;
|
||||
}
|
||||
}
|
||||