chore: ruler files update

Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
This commit is contained in:
2026-05-24 21:03:49 -04:00
parent 97b3ddd653
commit abb472c83d
303 changed files with 46670 additions and 25369 deletions

View File

@@ -0,0 +1,562 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Inkwell — AI Writing Assistant</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
background: #FAFAF8;
font-family: 'Inter', sans-serif;
color: #2C2C2C;
}
.page {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
padding: 40px 80px 40px 80px;
}
/* NAV */
.nav-bar {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 60px;
}
.logo {
font-size: 18px;
font-weight: 500;
letter-spacing: 3px;
text-transform: uppercase;
color: #2C2C2C;
}
.nav-links {
display: flex;
gap: 40px;
align-items: center;
}
.nav-links a {
font-size: 13px;
font-weight: 400;
color: #999;
text-decoration: none;
letter-spacing: 0.5px;
}
.nav-links a:hover {
color: #2C2C2C;
}
/* HERO AREA */
.hero-section {
flex: 1;
display: grid;
grid-template-columns: 440px 1fr;
gap: 80px;
align-items: center;
}
.hero-text {
display: flex;
flex-direction: column;
gap: 28px;
}
.headline {
font-size: 52px;
font-weight: 200;
line-height: 1.15;
letter-spacing: -1.5px;
color: #2C2C2C;
}
.headline em {
font-style: normal;
font-weight: 400;
color: #2C2C2C;
position: relative;
}
.headline em::after {
content: '';
position: absolute;
bottom: 4px;
left: 0;
width: 100%;
height: 1px;
background: #D4A574;
opacity: 0.5;
}
.subtitle {
font-size: 16px;
font-weight: 300;
line-height: 1.7;
color: #999;
max-width: 380px;
}
.cta-button {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 32px;
background: #2C2C2C;
color: #FAFAF8;
font-family: 'Inter', sans-serif;
font-size: 13px;
font-weight: 400;
letter-spacing: 0.5px;
text-decoration: none;
border: none;
border-radius: 2px;
cursor: pointer;
width: fit-content;
transition: background 0.3s;
}
.cta-button:hover {
background: #3C3C3C;
}
.social-proof {
font-size: 12px;
font-weight: 400;
color: #bbb;
letter-spacing: 0.5px;
}
/* FEATURES — minimal */
.features-row {
display: flex;
gap: 48px;
margin-top: 8px;
}
.feature-item {
display: flex;
align-items: flex-start;
gap: 12px;
}
.feature-icon {
width: 36px;
height: 36px;
border-radius: 50%;
background: rgba(212, 165, 116, 0.12);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
margin-top: 1px;
}
.feature-icon svg {
color: #D4A574;
}
.feature-label {
font-size: 13px;
font-weight: 500;
color: #2C2C2C;
margin-bottom: 2px;
}
.feature-desc {
font-size: 12px;
font-weight: 300;
color: #aaa;
line-height: 1.5;
}
/* EDITOR MOCKUP — floating card */
.editor-wrapper {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
.editor-card {
width: 100%;
max-width: 620px;
height: 580px;
background: #FFFFFF;
border-radius: 2px;
box-shadow:
0 4px 6px rgba(0,0,0,0.02),
0 12px 28px rgba(0,0,0,0.06),
0 40px 80px rgba(0,0,0,0.04);
display: grid;
grid-template-columns: 1fr 190px;
overflow: hidden;
}
.editor-main {
padding: 32px 28px;
display: flex;
flex-direction: column;
}
.editor-toolbar {
display: flex;
gap: 4px;
margin-bottom: 24px;
padding-bottom: 16px;
border-bottom: 1px solid #F0EDE8;
}
.tb-btn {
width: 32px;
height: 32px;
border-radius: 2px;
border: none;
background: transparent;
display: flex;
align-items: center;
justify-content: center;
color: #bbb;
cursor: pointer;
}
.tb-btn.active {
background: #F5F0E8;
color: #D4A574;
}
.doc-title {
font-size: 24px;
font-weight: 500;
letter-spacing: -0.5px;
color: #2C2C2C;
margin-bottom: 18px;
}
.doc-paragraph {
font-size: 14px;
font-weight: 300;
line-height: 1.9;
color: #666;
margin-bottom: 16px;
}
.doc-paragraph .ai-enhanced {
background: linear-gradient(120deg, rgba(212,165,116,0.1) 0%, rgba(212,165,116,0.18) 100%);
border-radius: 3px;
padding: 1px 4px;
}
.doc-h2 {
font-size: 17px;
font-weight: 500;
color: #2C2C2C;
margin-bottom: 12px;
margin-top: 4px;
}
.doc-list {
list-style: none;
padding: 0;
}
.doc-list li {
font-size: 13px;
font-weight: 300;
color: #777;
line-height: 1.8;
padding-left: 16px;
position: relative;
}
.doc-list li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 5px;
height: 5px;
border-radius: 50%;
background: #D4A574;
}
.cursor-line {
display: inline-block;
width: 1.5px;
height: 15px;
background: #D4A574;
animation: pulse 1.2s ease-in-out infinite;
vertical-align: text-bottom;
margin-left: 1px;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.2; }
}
/* AI SIDEBAR */
.ai-sidebar {
background: #FDFCFA;
border-left: 1px solid #F0EDE8;
padding: 24px 18px;
display: flex;
flex-direction: column;
gap: 16px;
}
.sidebar-title {
font-size: 11px;
font-weight: 500;
letter-spacing: 2px;
text-transform: uppercase;
color: #D4A574;
padding-bottom: 12px;
border-bottom: 1px solid #F0EDE8;
}
.ai-card {
background: #fff;
border-radius: 2px;
padding: 14px;
border: 1px solid #F0EDE8;
}
.ai-card-label {
font-size: 10px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1px;
color: #bbb;
margin-bottom: 6px;
}
.ai-card-content {
font-size: 13px;
font-weight: 400;
color: #2C2C2C;
}
.voice-score {
display: flex;
align-items: center;
gap: 8px;
margin-top: 8px;
}
.score-track {
flex: 1;
height: 3px;
background: #F0EDE8;
border-radius: 2px;
overflow: hidden;
}
.score-fill {
width: 92%;
height: 100%;
background: #D4A574;
border-radius: 2px;
}
.score-num {
font-size: 12px;
font-weight: 500;
color: #D4A574;
}
.platform-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
}
.p-tag {
font-size: 10px;
font-weight: 400;
padding: 4px 10px;
border-radius: 2px;
background: #F5F0E8;
color: #999;
}
.p-tag.active {
background: rgba(212,165,116,0.15);
color: #D4A574;
}
.ai-suggestion {
font-size: 12px;
font-weight: 300;
color: #888;
line-height: 1.6;
padding: 12px 14px;
background: #fff;
border-radius: 2px;
border: 1px solid #F0EDE8;
}
.ai-suggestion .label {
font-size: 10px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.8px;
color: #bbb;
display: block;
margin-bottom: 6px;
}
.refine-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
padding: 12px;
background: #2C2C2C;
color: #fff;
border: none;
border-radius: 2px;
font-family: 'Inter', sans-serif;
font-size: 12px;
font-weight: 500;
cursor: pointer;
letter-spacing: 0.5px;
}
</style>
</head>
<body>
<div class="page">
<!-- NAV -->
<nav class="nav-bar">
<div class="logo">Inkwell</div>
<div class="nav-links">
<a href="#">Features</a>
<a href="#">Pricing</a>
<a href="#">Stories</a>
<a href="#" class="cta-button" style="padding: 10px 24px; font-size: 12px; margin: 0;">Start Writing</a>
</div>
</nav>
<!-- HERO -->
<div class="hero-section">
<!-- LEFT: Text -->
<div class="hero-text">
<h1 class="headline">Write better,<br>faster, with<br><em>your own voice</em></h1>
<p class="subtitle">AI that learns your style, not replaces it. Publish across WeChat, Xiaohongshu, and video scripts while sounding unmistakably you.</p>
<div class="features-row">
<div class="feature-item">
<div class="feature-icon">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
</div>
<div>
<div class="feature-label">Style Learning</div>
<div class="feature-desc">Adapts to your voice</div>
</div>
</div>
<div class="feature-item">
<div class="feature-icon">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
</div>
<div>
<div class="feature-label">Multi-Platform</div>
<div class="feature-desc">One tool, every format</div>
</div>
</div>
<div class="feature-item">
<div class="feature-icon">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
</div>
<div>
<div class="feature-label">Human Touch</div>
<div class="feature-desc">Warmth-preserving edit</div>
</div>
</div>
</div>
<div style="display: flex; align-items: center; gap: 24px;">
<a href="#" class="cta-button">
Start Writing
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
</a>
<span class="social-proof">Trusted by 10,000+ creators</span>
</div>
</div>
<!-- RIGHT: Editor Card -->
<div class="editor-wrapper">
<div class="editor-card">
<div class="editor-main">
<div class="editor-toolbar">
<button class="tb-btn active"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/><path d="M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/></svg></button>
<button class="tb-btn"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="19" y1="4" x2="10" y2="4"/><line x1="14" y1="20" x2="5" y2="20"/><line x1="15" y1="4" x2="9" y2="20"/></svg></button>
<button class="tb-btn"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="21" y1="6" x2="3" y2="6"/><line x1="15" y1="12" x2="3" y2="12"/><line x1="17" y1="18" x2="3" y2="18"/></svg></button>
<button class="tb-btn"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></button>
</div>
<div class="doc-title">Morning Routines for Creative Minds</div>
<div class="doc-paragraph">
The best ideas rarely arrive on schedule. They come in the quiet space between waking and doing — <span class="ai-enhanced">that liminal moment when the mind is loose enough to wander but awake enough to notice</span>.
</div>
<div class="doc-h2">Finding Your Rhythm</div>
<div class="doc-paragraph">
Productivity culture tells us to optimize every hour. But creation is not production. The most prolific writers I know guard their mornings like sacred ground.<span class="cursor-line"></span>
</div>
<ul class="doc-list">
<li>Start before checking your phone</li>
<li>Write the ugly first draft freely</li>
<li>Let AI handle polish, not direction</li>
</ul>
</div>
<div class="ai-sidebar">
<div class="sidebar-title">Inkwell AI</div>
<div class="ai-card">
<div class="ai-card-label">Voice Match</div>
<div class="ai-card-content">Your Style</div>
<div class="voice-score">
<div class="score-track"><div class="score-fill"></div></div>
<div class="score-num">92%</div>
</div>
</div>
<div class="ai-card">
<div class="ai-card-label">Publishing To</div>
<div class="ai-card-content">WeChat Article</div>
<div class="platform-tags">
<span class="p-tag active">WeChat</span>
<span class="p-tag">XHS</span>
<span class="p-tag">Script</span>
</div>
</div>
<div class="ai-suggestion">
<span class="label">Suggestion</span>
The second paragraph is beautiful. Consider adding a concrete personal example to ground the abstract idea.
</div>
<button class="refine-btn">
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 3v18"/><path d="M3 12h18"/></svg>
Refine with AI
</button>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

View File

@@ -0,0 +1,548 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Inkwell — AI Writing Assistant</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
background: #FFFFFF;
font-family: 'Helvetica Neue', Arial, sans-serif;
color: #111111;
position: relative;
}
/* Grid overlay for Swiss design feel */
body::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background:
repeating-linear-gradient(90deg, transparent, transparent 119px, rgba(0,0,0,0.03) 119px, rgba(0,0,0,0.03) 120px),
repeating-linear-gradient(0deg, transparent, transparent 59px, rgba(0,0,0,0.02) 59px, rgba(0,0,0,0.02) 60px);
pointer-events: none;
z-index: 0;
}
.container {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
height: 100%;
padding: 0;
}
/* LEFT PANEL */
.left-panel {
padding: 60px 60px 48px 80px;
display: flex;
flex-direction: column;
justify-content: space-between;
border-right: 2px solid #111;
}
.top-bar {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 20px;
font-weight: 700;
letter-spacing: -0.5px;
text-transform: uppercase;
}
.logo span {
color: #E63946;
}
.nav {
display: flex;
gap: 28px;
font-size: 13px;
font-weight: 500;
letter-spacing: 0.5px;
text-transform: uppercase;
}
.nav a {
color: #111;
text-decoration: none;
}
.hero-content {
margin-top: -20px;
}
.headline {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 86px;
font-weight: 700;
line-height: 0.95;
letter-spacing: -4px;
margin-bottom: 28px;
}
.headline em {
font-style: italic;
color: #E63946;
}
.subtitle {
font-size: 18px;
font-weight: 400;
color: #555;
line-height: 1.5;
max-width: 420px;
margin-bottom: 36px;
}
.cta-row {
display: flex;
align-items: center;
gap: 24px;
}
.cta-button {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 16px 36px;
background: #E63946;
color: #fff;
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.5px;
text-transform: uppercase;
text-decoration: none;
border: none;
cursor: pointer;
}
.social-proof {
font-size: 13px;
color: #888;
letter-spacing: 0.3px;
}
.social-proof strong {
color: #111;
font-weight: 600;
}
/* FEATURES — strict 3 col */
.features-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0;
border-top: 2px solid #111;
}
.feature-item {
padding: 20px 0;
border-right: 1px solid #ddd;
}
.feature-item:last-child {
border-right: none;
}
.feature-item:first-child {
padding-right: 16px;
}
.feature-item:nth-child(2) {
padding: 20px 16px;
}
.feature-item:last-child {
padding-left: 16px;
}
.feature-number {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
font-weight: 700;
color: #E63946;
letter-spacing: 1px;
margin-bottom: 8px;
}
.feature-title {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 14px;
font-weight: 700;
letter-spacing: -0.3px;
margin-bottom: 4px;
text-transform: uppercase;
}
.feature-desc {
font-size: 12px;
color: #777;
line-height: 1.5;
}
/* RIGHT PANEL — Editor mockup as wireframe */
.right-panel {
background: #F7F7F7;
padding: 48px 60px 48px 48px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.editor-mockup {
width: 100%;
max-width: 580px;
height: 680px;
background: #fff;
border: 2px solid #111;
display: grid;
grid-template-columns: 1fr 200px;
position: relative;
}
/* Grid reference lines on mockup */
.editor-mockup::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background:
repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(0,0,0,0.03) 39px, rgba(0,0,0,0.03) 40px);
pointer-events: none;
}
.editor-main {
padding: 28px 24px;
border-right: 2px solid #111;
display: flex;
flex-direction: column;
}
.editor-toolbar {
display: flex;
gap: 6px;
padding-bottom: 16px;
border-bottom: 1px solid #ddd;
margin-bottom: 20px;
}
.toolbar-btn {
width: 28px;
height: 28px;
border: 1px solid #ccc;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.toolbar-btn.active {
background: #111;
border-color: #111;
color: #fff;
}
.editor-title-line {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 22px;
font-weight: 700;
letter-spacing: -0.5px;
margin-bottom: 16px;
color: #111;
}
.editor-text-block {
font-size: 13px;
line-height: 1.8;
color: #444;
margin-bottom: 14px;
}
.editor-text-block .highlight {
background: rgba(230, 57, 70, 0.12);
border-bottom: 2px solid #E63946;
padding: 0 2px;
}
.editor-h2 {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 16px;
font-weight: 700;
margin-bottom: 10px;
margin-top: 6px;
color: #111;
}
.editor-list {
font-size: 13px;
line-height: 2;
color: #555;
padding-left: 18px;
}
.editor-cursor {
display: inline-block;
width: 2px;
height: 16px;
background: #E63946;
animation: blink 1s step-end infinite;
vertical-align: text-bottom;
margin-left: 2px;
}
@keyframes blink {
50% { opacity: 0; }
}
/* AI SIDEBAR */
.ai-sidebar {
padding: 20px 16px;
background: #FAFAFA;
display: flex;
flex-direction: column;
gap: 14px;
}
.sidebar-header {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1.5px;
color: #E63946;
padding-bottom: 10px;
border-bottom: 2px solid #111;
}
.sidebar-card {
padding: 12px;
border: 1px solid #ddd;
background: #fff;
}
.sidebar-card-label {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.8px;
color: #999;
margin-bottom: 6px;
}
.sidebar-card-value {
font-size: 13px;
font-weight: 500;
color: #111;
line-height: 1.4;
}
.style-meter {
display: flex;
gap: 3px;
margin-top: 8px;
}
.meter-bar {
height: 4px;
flex: 1;
background: #E0E0E0;
}
.meter-bar.filled {
background: #E63946;
}
.sidebar-suggestion {
padding: 10px 12px;
background: #fff;
border: 1px solid #ddd;
font-size: 12px;
color: #555;
line-height: 1.5;
}
.sidebar-suggestion strong {
color: #111;
display: block;
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.8px;
margin-bottom: 4px;
}
.sidebar-action {
display: flex;
align-items: center;
gap: 6px;
padding: 10px 12px;
background: #111;
color: #fff;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
border: none;
justify-content: center;
}
.tag-row {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin-top: 6px;
}
.tag {
font-size: 10px;
padding: 2px 8px;
border: 1px solid #ccc;
color: #666;
letter-spacing: 0.3px;
}
/* Corner mark */
.right-panel::after {
content: 'INKWELL V1.0';
position: absolute;
bottom: 20px;
right: 24px;
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 10px;
letter-spacing: 2px;
color: #bbb;
text-transform: uppercase;
}
</style>
</head>
<body>
<div class="container">
<!-- LEFT PANEL -->
<div class="left-panel">
<div class="top-bar">
<div class="logo">INK<span>WELL</span></div>
<nav class="nav">
<a href="#">Features</a>
<a href="#">Pricing</a>
<a href="#">Blog</a>
</nav>
</div>
<div class="hero-content">
<h1 class="headline">Write<br>better,<br>faster,<br>with <em>your</em><br>own voice.</h1>
<p class="subtitle">AI that learns your style, not replaces it. Craft content for WeChat, Xiaohongshu, and video scripts — all in your authentic tone.</p>
<div class="cta-row">
<a href="#" class="cta-button">
Start Writing
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
</a>
<span class="social-proof">Trusted by <strong>10,000+</strong> creators</span>
</div>
</div>
<div class="features-grid">
<div class="feature-item">
<div class="feature-number">01</div>
<div class="feature-title">Style Learning</div>
<div class="feature-desc">Adapts to your unique voice through continuous analysis of your writing patterns.</div>
</div>
<div class="feature-item">
<div class="feature-number">02</div>
<div class="feature-title">Multi-Platform</div>
<div class="feature-desc">WeChat articles, Xiaohongshu posts, video scripts. One tool, every format.</div>
</div>
<div class="feature-item">
<div class="feature-number">03</div>
<div class="feature-title">Human-Touch</div>
<div class="feature-desc">Proofreading that preserves warmth and removes robotic phrasing.</div>
</div>
</div>
</div>
<!-- RIGHT PANEL — Editor Mockup -->
<div class="right-panel">
<div class="editor-mockup">
<div class="editor-main">
<div class="editor-toolbar">
<div class="toolbar-btn active"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/><path d="M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/></svg></div>
<div class="toolbar-btn"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="19" y1="4" x2="10" y2="4"/><line x1="14" y1="20" x2="5" y2="20"/><line x1="15" y1="4" x2="9" y2="20"/></svg></div>
<div class="toolbar-btn"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="21" y1="6" x2="3" y2="6"/><line x1="15" y1="12" x2="3" y2="12"/><line x1="17" y1="18" x2="3" y2="18"/></svg></div>
<div class="toolbar-btn"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg></div>
</div>
<div class="editor-title-line">The Future of Content Creation</div>
<div class="editor-text-block">
Every creator faces the same tension: the desire to produce more content versus the need to maintain quality and authenticity. <span class="highlight">AI doesn't have to mean losing your voice</span> — it can mean amplifying it.
</div>
<div class="editor-h2">Why Authenticity Matters</div>
<div class="editor-text-block">
Readers can tell. They feel the difference between words that carry genuine experience and words assembled by algorithm. The goal isn't to write <em>more</em> — it's to write more of what only you can write.<span class="editor-cursor"></span>
</div>
<div class="editor-h2">Key Principles</div>
<ol class="editor-list">
<li>Write from personal experience first</li>
<li>Use AI for refinement, not replacement</li>
<li>Adapt tone for each platform</li>
</ol>
</div>
<div class="ai-sidebar">
<div class="sidebar-header">AI Assistant</div>
<div class="sidebar-card">
<div class="sidebar-card-label">Style Match</div>
<div class="sidebar-card-value">92% Voice Fidelity</div>
<div class="style-meter">
<div class="meter-bar filled"></div>
<div class="meter-bar filled"></div>
<div class="meter-bar filled"></div>
<div class="meter-bar filled"></div>
<div class="meter-bar"></div>
</div>
</div>
<div class="sidebar-card">
<div class="sidebar-card-label">Target</div>
<div class="sidebar-card-value">WeChat Article</div>
<div class="tag-row">
<span class="tag">WeChat</span>
<span class="tag">XHS</span>
<span class="tag">Script</span>
</div>
</div>
<div class="sidebar-suggestion">
<strong>Suggestion</strong>
Consider opening with a specific anecdote to strengthen the personal connection.
</div>
<div class="sidebar-suggestion">
<strong>Tone Check</strong>
Paragraph 2 reads slightly formal. Soften with a conversational phrase.
</div>
<button class="sidebar-action">
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>
Refine Selection
</button>
</div>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

View File

@@ -0,0 +1,696 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Inkwell — AI Writing Assistant</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Noto+Serif+SC:wght@400;500;600;700&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
background: #F5F0EB;
font-family: 'Inter', sans-serif;
color: #3D3D3D;
}
.page {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
/* NAV */
.nav-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 28px 64px;
}
.logo {
font-family: 'Noto Serif SC', serif;
font-size: 20px;
font-weight: 600;
color: #5C5347;
letter-spacing: 1px;
}
.nav-right {
display: flex;
align-items: center;
gap: 36px;
}
.nav-right a {
font-size: 13px;
font-weight: 400;
color: #8A8278;
text-decoration: none;
letter-spacing: 0.3px;
}
.nav-cta {
padding: 10px 24px;
background: transparent;
color: #2D3436;
border: 1px solid rgba(45, 52, 54, 0.2);
border-radius: 24px;
font-size: 13px;
font-weight: 500;
text-decoration: none;
letter-spacing: 0.3px;
}
/* MAIN CONTENT */
.main-content {
flex: 1;
display: flex;
flex-direction: column;
padding: 0 64px;
gap: 36px;
}
/* HERO ROW */
.hero-row {
display: grid;
grid-template-columns: 480px 1fr;
gap: 56px;
align-items: start;
padding-top: 16px;
}
.hero-text {
padding-top: 20px;
}
.headline {
font-family: 'Noto Serif SC', serif;
font-size: 44px;
font-weight: 600;
line-height: 1.35;
letter-spacing: -0.5px;
color: #3D3D3D;
margin-bottom: 20px;
}
.headline .accent {
color: #6B8F71;
}
.subtitle {
font-size: 16px;
font-weight: 300;
line-height: 1.8;
color: #8A8278;
max-width: 420px;
margin-bottom: 28px;
}
.cta-area {
display: flex;
align-items: center;
gap: 20px;
margin-bottom: 16px;
}
.cta-button {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 14px 32px;
background: #2D3436;
color: #F5F0EB;
font-family: 'Inter', sans-serif;
font-size: 14px;
font-weight: 500;
letter-spacing: 0.5px;
text-decoration: none;
border: none;
border-radius: 32px;
cursor: pointer;
}
.social-proof {
font-size: 12px;
font-weight: 400;
color: #B5AD9E;
letter-spacing: 0.3px;
}
/* EDITOR MOCKUP — organic rounded */
.editor-container {
position: relative;
}
.editor-card {
width: 100%;
max-width: 720px;
height: 460px;
background: #FDFCF9;
border-radius: 24px;
box-shadow:
0 2px 8px rgba(92,83,71,0.04),
0 8px 24px rgba(92,83,71,0.06),
0 24px 48px rgba(92,83,71,0.03);
display: grid;
grid-template-columns: 1fr 200px;
overflow: hidden;
}
.editor-body {
padding: 28px 28px;
display: flex;
flex-direction: column;
}
.editor-toolbar {
display: flex;
gap: 6px;
margin-bottom: 20px;
padding-bottom: 14px;
border-bottom: 1px solid #EDE8DF;
}
.e-btn {
width: 30px;
height: 30px;
border-radius: 10px;
border: none;
background: transparent;
display: flex;
align-items: center;
justify-content: center;
color: #C4BDB2;
cursor: pointer;
}
.e-btn.active {
background: #EDE8DF;
color: #5C5347;
}
.e-title {
font-family: 'Noto Serif SC', serif;
font-size: 20px;
font-weight: 600;
color: #3D3D3D;
margin-bottom: 14px;
}
.e-text {
font-size: 13.5px;
font-weight: 300;
line-height: 1.9;
color: #6B6560;
margin-bottom: 12px;
}
.e-text .enhanced {
background: rgba(107,143,113,0.2);
border-radius: 4px;
padding: 1px 4px;
}
.e-h2 {
font-family: 'Noto Serif SC', serif;
font-size: 16px;
font-weight: 500;
color: #3D3D3D;
margin-bottom: 10px;
margin-top: 2px;
}
.e-list {
list-style: none;
padding: 0;
}
.e-list li {
font-size: 13px;
font-weight: 300;
color: #8A8278;
line-height: 1.9;
padding-left: 18px;
position: relative;
}
.e-list li::before {
content: '';
position: absolute;
left: 2px;
top: 10px;
width: 8px;
height: 8px;
border-radius: 50%;
border: 1.5px solid #6B8F71;
}
.typing-cursor {
display: inline-block;
width: 1.5px;
height: 14px;
background: #6B8F71;
animation: softblink 1.5s ease-in-out infinite;
vertical-align: text-bottom;
margin-left: 2px;
}
@keyframes softblink {
0%, 100% { opacity: 0.8; }
50% { opacity: 0.15; }
}
/* AI Sidebar */
.ai-panel {
background: #F8F5EF;
border-left: 1px solid #EDE8DF;
padding: 22px 16px;
display: flex;
flex-direction: column;
gap: 12px;
}
.panel-header {
display: flex;
align-items: center;
gap: 8px;
padding-bottom: 12px;
border-bottom: 1px solid #EDE8DF;
}
.panel-header svg {
color: #6B8F71;
}
.panel-header span {
font-size: 12px;
font-weight: 500;
color: #5C5347;
letter-spacing: 0.5px;
}
.panel-card {
background: #FDFCF9;
border-radius: 14px;
padding: 14px;
border: 1px solid #EDE8DF;
}
.panel-card-label {
font-size: 10px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.8px;
color: #B5AD9E;
margin-bottom: 6px;
}
.panel-card-value {
font-size: 13px;
font-weight: 500;
color: #3D3D3D;
}
.voice-bar {
display: flex;
align-items: center;
gap: 8px;
margin-top: 8px;
}
.vb-track {
flex: 1;
height: 4px;
background: #EDE8DF;
border-radius: 4px;
overflow: hidden;
}
.vb-fill {
width: 92%;
height: 100%;
background: linear-gradient(90deg, #6B8F71, #C4D1BC);
border-radius: 4px;
}
.vb-label {
font-size: 11px;
font-weight: 500;
color: #6B8F71;
}
.platform-pills {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 6px;
}
.pill {
font-size: 10px;
padding: 4px 10px;
border-radius: 16px;
background: #EDE8DF;
color: #8A8278;
}
.pill.active {
background: rgba(107,143,113,0.25);
color: #5C5347;
}
.panel-note {
font-size: 11.5px;
font-weight: 300;
color: #8A8278;
line-height: 1.6;
padding: 12px;
background: #FDFCF9;
border-radius: 14px;
border: 1px solid #EDE8DF;
}
.panel-note .note-label {
font-size: 10px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.8px;
color: #B5AD9E;
display: block;
margin-bottom: 4px;
}
/* FLOW DIAGRAM */
.flow-section {
padding: 0 0 0 0;
}
.flow-bar {
display: flex;
align-items: center;
justify-content: center;
gap: 0;
padding: 20px 0;
}
.flow-step {
display: flex;
align-items: center;
gap: 14px;
padding: 14px 28px;
background: #FDFCF9;
border-radius: 18px;
border: 1px solid #EDE8DF;
box-shadow: 0 2px 8px rgba(92,83,71,0.03);
}
.flow-step-icon {
width: 38px;
height: 38px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.flow-step-icon.ideas {
background: rgba(107,143,113,0.2);
color: #6B8F71;
}
.flow-step-icon.ai {
background: rgba(212,187,156,0.25);
color: #C4A87A;
}
.flow-step-icon.voice {
background: rgba(92,83,71,0.1);
color: #5C5347;
}
.flow-step-text {
display: flex;
flex-direction: column;
}
.flow-step-label {
font-size: 14px;
font-weight: 500;
color: #3D3D3D;
margin-bottom: 2px;
}
.flow-step-desc {
font-size: 11px;
font-weight: 300;
color: #B5AD9E;
}
.flow-arrow {
display: flex;
align-items: center;
padding: 0 20px;
color: #C4BDB2;
}
.flow-arrow svg {
opacity: 0.6;
}
/* FEATURES ROW */
.features-strip {
display: flex;
justify-content: center;
gap: 56px;
padding: 12px 0 20px 0;
}
.feat {
display: flex;
align-items: center;
gap: 12px;
}
.feat-icon {
width: 40px;
height: 40px;
border-radius: 12px;
background: rgba(107,143,113,0.15);
display: flex;
align-items: center;
justify-content: center;
color: #6B8F71;
flex-shrink: 0;
}
.feat-text {
display: flex;
flex-direction: column;
}
.feat-name {
font-size: 13px;
font-weight: 500;
color: #3D3D3D;
margin-bottom: 1px;
}
.feat-sub {
font-size: 11px;
font-weight: 300;
color: #B5AD9E;
}
.divider-dot {
width: 4px;
height: 4px;
border-radius: 50%;
background: #D5CFC5;
align-self: center;
}
</style>
</head>
<body>
<div class="page">
<!-- NAV -->
<nav class="nav-bar">
<div class="logo">Inkwell</div>
<div class="nav-right">
<a href="#">Philosophy</a>
<a href="#">Features</a>
<a href="#">Stories</a>
<a href="#" class="nav-cta">Start Writing</a>
</div>
</nav>
<!-- MAIN -->
<div class="main-content">
<!-- HERO -->
<div class="hero-row">
<div class="hero-text">
<h1 class="headline">Write better, faster,<br>with <span class="accent">your own</span> voice</h1>
<p class="subtitle">AI that learns your style, not replaces it. A mindful writing companion for WeChat, Xiaohongshu, and video scripts that honours your creative instincts.</p>
<div class="cta-area">
<a href="#" class="cta-button">
Start Writing
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>
</a>
<span class="social-proof">Trusted by 10,000+ creators</span>
</div>
</div>
<!-- EDITOR CARD -->
<div class="editor-container">
<div class="editor-card">
<div class="editor-body">
<div class="editor-toolbar">
<button class="e-btn active"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/><path d="M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"/></svg></button>
<button class="e-btn"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="19" y1="4" x2="10" y2="4"/><line x1="14" y1="20" x2="5" y2="20"/><line x1="15" y1="4" x2="9" y2="20"/></svg></button>
<button class="e-btn"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="21" y1="6" x2="3" y2="6"/><line x1="15" y1="12" x2="3" y2="12"/><line x1="17" y1="18" x2="3" y2="18"/></svg></button>
<button class="e-btn"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></button>
</div>
<div class="e-title">On the Patience of Growing Things</div>
<div class="e-text">
There is a kind of writing that happens slowly, like roots in winter soil. <span class="enhanced">You cannot rush a sentence into meaning any more than you can rush a seed into bloom</span>. The best words arrive when you stop chasing them.
</div>
<div class="e-h2">Listening to the Draft</div>
<div class="e-text">
Every draft speaks, if you give it room. The first version is never wrong — it is simply unfinished. What AI can offer is not replacement, but reflection: a gentle mirror held up to your own intentions.<span class="typing-cursor"></span>
</div>
<ul class="e-list">
<li>Trust the messy first draft</li>
<li>Let AI reveal patterns you missed</li>
<li>Preserve what makes it yours</li>
</ul>
</div>
<div class="ai-panel">
<div class="panel-header">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg>
<span>Inkwell AI</span>
</div>
<div class="panel-card">
<div class="panel-card-label">Voice Match</div>
<div class="panel-card-value">Your Style</div>
<div class="voice-bar">
<div class="vb-track"><div class="vb-fill"></div></div>
<div class="vb-label">92%</div>
</div>
</div>
<div class="panel-card">
<div class="panel-card-label">Platform</div>
<div class="panel-card-value">WeChat</div>
<div class="platform-pills">
<span class="pill active">WeChat</span>
<span class="pill">XHS</span>
<span class="pill">Script</span>
</div>
</div>
<div class="panel-note">
<span class="note-label">Observation</span>
The seed metaphor in paragraph one is lovely. Consider echoing it in the closing line for a sense of return.
</div>
<div class="panel-note">
<span class="note-label">Tone</span>
Gentle, contemplative. This reads naturally as you.
</div>
</div>
</div>
</div>
</div>
<!-- FLOW DIAGRAM -->
<div class="flow-section">
<div class="flow-bar">
<div class="flow-step">
<div class="flow-step-icon ideas">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 1 1 7.072 0l-.548.547A3.374 3.374 0 0 0 12 18.469c-1.006 0-1.938-.429-2.577-1.177l-.56-.56z"/></svg>
</div>
<div class="flow-step-text">
<div class="flow-step-label">Your Ideas</div>
<div class="flow-step-desc">Raw thoughts and drafts</div>
</div>
</div>
<div class="flow-arrow">
<svg width="32" height="16" viewBox="0 0 32 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="2" y1="8" x2="28" y2="8"/><polyline points="24 4 28 8 24 12"/></svg>
</div>
<div class="flow-step">
<div class="flow-step-icon ai">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>
</div>
<div class="flow-step-text">
<div class="flow-step-label">AI Enhancement</div>
<div class="flow-step-desc">Refine, not rewrite</div>
</div>
</div>
<div class="flow-arrow">
<svg width="32" height="16" viewBox="0 0 32 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><line x1="2" y1="8" x2="28" y2="8"/><polyline points="24 4 28 8 24 12"/></svg>
</div>
<div class="flow-step">
<div class="flow-step-icon voice">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
</div>
<div class="flow-step-text">
<div class="flow-step-label">Your Voice</div>
<div class="flow-step-desc">Unmistakably you</div>
</div>
</div>
</div>
</div>
<!-- FEATURES STRIP -->
<div class="features-strip">
<div class="feat">
<div class="feat-icon">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>
</div>
<div class="feat-text">
<div class="feat-name">Style Learning</div>
<div class="feat-sub">Evolves with your writing</div>
</div>
</div>
<div class="divider-dot"></div>
<div class="feat">
<div class="feat-icon">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
</div>
<div class="feat-text">
<div class="feat-name">Multi-Platform</div>
<div class="feat-sub">WeChat, XHS, video scripts</div>
</div>
</div>
<div class="divider-dot"></div>
<div class="feat">
<div class="feat-icon">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>
</div>
<div class="feat-text">
<div class="feat-name">Human-Touch Proofreading</div>
<div class="feat-sub">Warmth-preserving refinement</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB