- Static HTML/CSS Linktree-style landing page - Responsive design with dark theme - Project showcase (StaySense, Expense Logbook, Blog, RSS-Bot) - Social media links and contact information - GitHub Actions workflow for automated deployment - Complete documentation and setup instructions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
284 lines
6.8 KiB
CSS
284 lines
6.8 KiB
CSS
:root{
|
|
--bg:#0b0f14;
|
|
--panel:#0f1720;
|
|
--panel2:#0c141c;
|
|
--text:#e9eef6;
|
|
--muted:#a8b3c2;
|
|
--line:rgba(255,255,255,.10);
|
|
--accent:#ff9b54;
|
|
--accent2:#ffd29a;
|
|
--shadow: 0 18px 60px rgba(0,0,0,.45);
|
|
--radius:18px;
|
|
--max:1100px;
|
|
--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
|
|
}
|
|
|
|
*{ box-sizing:border-box; }
|
|
html,body{ height:100%; }
|
|
body{
|
|
margin:0;
|
|
font-family:var(--font);
|
|
background: radial-gradient(1200px 700px at 20% -10%, rgba(255,155,84,.18), transparent 65%),
|
|
radial-gradient(900px 600px at 85% 5%, rgba(255,210,154,.12), transparent 60%),
|
|
var(--bg);
|
|
color:var(--text);
|
|
line-height:1.55;
|
|
}
|
|
|
|
a{ color:inherit; text-decoration:none; }
|
|
a:hover{ text-decoration:underline; }
|
|
|
|
.container{
|
|
width: min(var(--max), calc(100% - 40px));
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.skip{
|
|
position:absolute; left:-999px; top:auto;
|
|
width:1px; height:1px; overflow:hidden;
|
|
}
|
|
.skip:focus{
|
|
left:20px; top:16px; width:auto; height:auto;
|
|
padding:10px 14px; border-radius:10px;
|
|
background:var(--panel); border:1px solid var(--line);
|
|
z-index:999;
|
|
}
|
|
|
|
.site-header{
|
|
position:sticky; top:0; z-index:50;
|
|
background: rgba(11,15,20,.75);
|
|
backdrop-filter: blur(10px);
|
|
border-bottom:1px solid var(--line);
|
|
}
|
|
.header-inner{
|
|
display:flex;
|
|
justify-content:space-between;
|
|
align-items:center;
|
|
padding: 14px 0;
|
|
gap:16px;
|
|
}
|
|
|
|
.brand{ display:flex; align-items:center; gap:12px; }
|
|
.brand-mark{ filter: drop-shadow(0 6px 18px rgba(0,0,0,.35)); }
|
|
.brand-title{ font-weight:800; letter-spacing:.2px; }
|
|
.brand-sub{ font-size:.92rem; color:var(--muted); }
|
|
|
|
.top-nav{ display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; }
|
|
.nav-link{
|
|
padding:8px 10px;
|
|
border-radius:10px;
|
|
border:1px solid transparent;
|
|
color:var(--muted);
|
|
}
|
|
.nav-link:hover{
|
|
text-decoration:none;
|
|
color:var(--text);
|
|
border-color: var(--line);
|
|
background: rgba(255,255,255,.03);
|
|
}
|
|
|
|
.hero{ padding: 56px 0 36px; }
|
|
.hero-inner{
|
|
display:grid;
|
|
grid-template-columns: 1.2fr .8fr;
|
|
gap: 28px;
|
|
align-items:center;
|
|
}
|
|
.kicker{
|
|
display:inline-block;
|
|
padding:6px 10px;
|
|
border-radius:999px;
|
|
border:1px solid var(--line);
|
|
background: rgba(255,255,255,.03);
|
|
color:var(--muted);
|
|
margin:0 0 14px;
|
|
}
|
|
h1{
|
|
margin:0 0 14px;
|
|
font-size: clamp(2.0rem, 3.4vw, 3.2rem);
|
|
line-height:1.1;
|
|
letter-spacing:-.6px;
|
|
}
|
|
.accent{ color: var(--accent2); }
|
|
.lead{
|
|
margin:0 0 18px;
|
|
color:var(--muted);
|
|
max-width: 52ch;
|
|
}
|
|
|
|
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
|
|
.btn{
|
|
display:inline-flex; align-items:center; justify-content:center;
|
|
padding: 11px 14px;
|
|
border-radius: 12px;
|
|
border:1px solid var(--line);
|
|
background: rgba(255,255,255,.03);
|
|
box-shadow: 0 0 0 rgba(0,0,0,0);
|
|
font-weight:700;
|
|
transition: transform .12s ease, background .12s ease, border-color .12s ease;
|
|
white-space:nowrap;
|
|
}
|
|
.btn:hover{ text-decoration:none; transform: translateY(-1px); border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.06); }
|
|
.btn.primary{
|
|
border-color: rgba(255,155,84,.55);
|
|
background: linear-gradient(180deg, rgba(255,155,84,.28), rgba(255,155,84,.10));
|
|
}
|
|
.btn.ghost{ color:var(--text); }
|
|
|
|
.hero-badges{ display:flex; gap:10px; flex-wrap:wrap; }
|
|
.badge{
|
|
font-size:.88rem;
|
|
padding:6px 10px;
|
|
border-radius:999px;
|
|
border:1px solid var(--line);
|
|
color:var(--muted);
|
|
background: rgba(255,255,255,.02);
|
|
}
|
|
|
|
.hero-art{
|
|
color: var(--accent);
|
|
background: linear-gradient(180deg, rgba(255,155,84,.16), rgba(255,155,84,.05));
|
|
border: 1px solid rgba(255,255,255,.10);
|
|
border-radius: var(--radius);
|
|
box-shadow: var(--shadow);
|
|
padding: 14px;
|
|
}
|
|
.hero-art svg{ width:100%; height:auto; display:block; }
|
|
|
|
.section{ padding: 44px 0; }
|
|
.section.alt{
|
|
background: linear-gradient(180deg, rgba(255,255,255,.02), transparent);
|
|
border-top: 1px solid var(--line);
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
.section-head h2{
|
|
margin:0 0 6px;
|
|
font-size: 1.6rem;
|
|
letter-spacing:-.2px;
|
|
}
|
|
.section-head p{ margin:0 0 18px; color:var(--muted); }
|
|
|
|
.grid{
|
|
display:grid;
|
|
grid-template-columns: repeat(2, minmax(0,1fr));
|
|
gap: 16px;
|
|
}
|
|
.card{
|
|
border-radius: var(--radius);
|
|
background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
|
|
border:1px solid var(--line);
|
|
box-shadow: 0 10px 40px rgba(0,0,0,.25);
|
|
padding: 18px;
|
|
display:flex;
|
|
flex-direction:column;
|
|
justify-content:space-between;
|
|
min-height: 210px;
|
|
}
|
|
.card h3{ margin:8px 0 10px; font-size:1.25rem; }
|
|
.card p{ margin:0 0 14px; color:var(--muted); }
|
|
|
|
.card-actions{ display:flex; gap:10px; flex-wrap:wrap; }
|
|
.pill{
|
|
display:inline-flex;
|
|
align-items:center;
|
|
justify-content:center;
|
|
padding: 5px 10px;
|
|
border-radius: 999px;
|
|
background: rgba(255,155,84,.18);
|
|
border:1px solid rgba(255,155,84,.35);
|
|
font-size:.85rem;
|
|
font-weight:800;
|
|
color: var(--accent2);
|
|
}
|
|
.pill.subtle{
|
|
background: rgba(255,255,255,.05);
|
|
border-color: var(--line);
|
|
color: var(--muted);
|
|
}
|
|
|
|
.note{
|
|
margin-top: 16px;
|
|
padding: 14px 16px;
|
|
border-radius: 14px;
|
|
border:1px dashed rgba(255,255,255,.18);
|
|
background: rgba(255,255,255,.02);
|
|
color: var(--muted);
|
|
}
|
|
|
|
.split{
|
|
display:flex;
|
|
align-items:center;
|
|
justify-content:space-between;
|
|
gap: 18px;
|
|
flex-wrap:wrap;
|
|
}
|
|
.support-actions{ display:flex; gap:10px; flex-wrap:wrap; }
|
|
|
|
.social{
|
|
display:flex;
|
|
gap:10px;
|
|
flex-wrap:wrap;
|
|
margin-bottom: 18px;
|
|
}
|
|
.social-link{
|
|
border:1px solid var(--line);
|
|
background: rgba(255,255,255,.03);
|
|
padding: 10px 12px;
|
|
border-radius: 12px;
|
|
color: var(--text);
|
|
}
|
|
.social-link:hover{ text-decoration:none; transform: translateY(-1px); }
|
|
|
|
.contact{
|
|
border-radius: var(--radius);
|
|
border:1px solid var(--line);
|
|
background: rgba(255,255,255,.02);
|
|
padding: 16px;
|
|
}
|
|
.contact h3{ margin:0 0 8px; }
|
|
.fineprint{ margin:10px 0 0; color:var(--muted); font-size:.92rem; }
|
|
|
|
.faq{
|
|
border-radius: var(--radius);
|
|
border:1px solid var(--line);
|
|
background: rgba(255,255,255,.02);
|
|
padding: 12px 14px;
|
|
margin: 10px 0;
|
|
}
|
|
.faq summary{
|
|
cursor:pointer;
|
|
font-weight:800;
|
|
}
|
|
.faq-body{ color:var(--muted); padding-top: 10px; }
|
|
code{
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
font-size: .95em;
|
|
background: rgba(255,255,255,.06);
|
|
border: 1px solid var(--line);
|
|
padding: 2px 6px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.site-footer{
|
|
padding: 22px 0;
|
|
border-top:1px solid var(--line);
|
|
color: var(--muted);
|
|
}
|
|
.footer-inner{
|
|
display:flex;
|
|
justify-content:space-between;
|
|
align-items:flex-start;
|
|
gap: 12px;
|
|
flex-wrap:wrap;
|
|
}
|
|
.footer-links{ display:flex; gap:12px; flex-wrap:wrap; }
|
|
.footer-links a{ color: var(--muted); }
|
|
.footer-links a:hover{ color: var(--text); text-decoration:none; }
|
|
|
|
.muted{ color: var(--muted); }
|
|
|
|
@media (max-width: 900px){
|
|
.hero-inner{ grid-template-columns: 1fr; }
|
|
.hero-art{ order: -1; }
|
|
.grid{ grid-template-columns: 1fr; }
|
|
}
|