/* itsgoin.com — distsoc website */ * { margin: 0; padding: 0; box-sizing: border-box; } :root { --bg: #0c0f14; --surface: #161b24; --border: #1e2530; --text: #e2e8f0; --text-muted: #8892a4; --accent: #3b82f6; --accent-dim: #1e3a5f; --green: #22c55e; --green-dim: #14532d; --amber: #f59e0b; --amber-dim: #78350f; } body { font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif; background: var(--bg); color: var(--text); line-height: 1.7; -webkit-font-smoothing: antialiased; } a { color: var(--accent); text-decoration: none; } a:hover { text-decoration: underline; } /* --- Nav --- */ nav { border-bottom: 1px solid var(--border); padding: 1rem 2rem; display: flex; align-items: center; gap: 2rem; max-width: 1100px; margin: 0 auto; } nav .logo { font-size: 1.25rem; font-weight: 700; color: var(--text); letter-spacing: -0.02em; } nav .logo span { color: var(--text-muted); font-weight: 400; } nav .links { display: flex; gap: 1.5rem; } nav .links a { color: var(--text-muted); font-size: 0.9rem; font-weight: 500; transition: color 0.15s; } nav .links a:hover, nav .links a.active { color: var(--text); text-decoration: none; } /* --- Layout --- */ .container { max-width: 800px; margin: 0 auto; padding: 3rem 2rem; } .wide { max-width: 1000px; } /* --- Hero --- */ .hero { text-align: center; padding: 5rem 2rem 3rem; max-width: 700px; margin: 0 auto; } .hero h1 { font-size: 3rem; font-weight: 800; letter-spacing: -0.03em; margin-bottom: 0.5rem; background: linear-gradient(135deg, var(--text) 0%, var(--accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .hero .tagline { font-size: 1.25rem; color: var(--text-muted); margin-bottom: 2rem; max-width: 500px; margin-left: auto; margin-right: auto; } .hero .cta { display: inline-flex; gap: 1rem; flex-wrap: wrap; justify-content: center; } .btn { display: inline-block; padding: 0.75rem 1.75rem; border-radius: 8px; font-weight: 600; font-size: 0.95rem; transition: filter 0.15s, transform 0.1s; border: none; cursor: pointer; } .btn:hover { filter: brightness(1.1); transform: translateY(-1px); text-decoration: none; } .btn-primary { background: var(--accent); color: white; } .btn-secondary { background: var(--surface); color: var(--text); border: 1px solid var(--border); } /* --- Section --- */ section { padding: 3rem 0; } section + section { border-top: 1px solid var(--border); } h2 { font-size: 1.6rem; font-weight: 700; margin-bottom: 1rem; letter-spacing: -0.02em; } h3 { font-size: 1.15rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--text); } p { margin-bottom: 1rem; color: var(--text-muted); } p strong { color: var(--text); } /* --- Feature grid --- */ .features { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; } .feature { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 1.5rem; } .feature .icon { width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: 0.75rem; } .feature .icon-blue { background: var(--accent-dim); } .feature .icon-green { background: var(--green-dim); } .feature .icon-amber { background: var(--amber-dim); } .feature h3 { margin-bottom: 0.4rem; } .feature p { font-size: 0.9rem; margin-bottom: 0; } /* --- Cards --- */ .card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 1.75rem; margin-bottom: 1.5rem; } .card h3 { margin-bottom: 0.5rem; } .card p:last-child { margin-bottom: 0; } /* --- Download buttons --- */ .downloads { display: flex; gap: 1rem; flex-wrap: wrap; margin: 1.5rem 0; } .download-btn { display: inline-block; color: white; padding: 0.85rem 2rem; border-radius: 10px; font-size: 1.1rem; font-weight: 600; transition: filter 0.2s, transform 0.1s; } .download-btn:hover { filter: brightness(0.9); transform: translateY(-1px); text-decoration: none; } .download-btn .sub { font-size: 0.82rem; font-weight: 400; opacity: 0.75; display: block; margin-top: 0.15rem; } .btn-android { background: var(--accent); } .btn-linux { background: var(--green); } /* --- Steps --- */ .steps { list-style: none; padding: 0; counter-reset: step; } .steps li { counter-increment: step; padding: 0.65rem 0 0.65rem 2.5rem; position: relative; border-bottom: 1px solid var(--border); font-size: 0.95rem; color: var(--text-muted); } .steps li:last-child { border-bottom: none; } .steps li::before { content: counter(step); position: absolute; left: 0; top: 0.65rem; width: 26px; height: 26px; border-radius: 50%; color: white; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; background: var(--accent); } .steps li strong { color: var(--text); } /* --- Note box --- */ .note { background: var(--amber-dim); border: 1px solid #92400e; border-radius: 8px; padding: 0.75rem 1rem; font-size: 0.88rem; color: #fbbf24; margin-top: 0.75rem; } .note strong { color: #fde68a; } /* --- Changelog --- */ .changelog-date { font-size: 0.82rem; color: var(--text-muted); margin: 1.5rem 0 0.5rem; font-weight: 600; } .changelog-date:first-child { margin-top: 0; } .changelog ul { padding-left: 1.25rem; margin-bottom: 0.5rem; } .changelog li { margin-bottom: 0.4rem; font-size: 0.93rem; color: var(--text-muted); } .changelog li strong { color: var(--text); } /* --- Table --- */ table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.9rem; } th, td { text-align: left; padding: 0.6rem 1rem; border-bottom: 1px solid var(--border); } th { color: var(--text); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; } td { color: var(--text-muted); } /* --- Code --- */ code { background: var(--surface); padding: 0.15rem 0.45rem; border-radius: 4px; font-size: 0.88rem; font-family: 'JetBrains Mono', 'Fira Code', monospace; color: var(--green); } pre { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 1rem 1.25rem; overflow-x: auto; margin: 1rem 0; font-size: 0.85rem; line-height: 1.6; } pre code { background: none; padding: 0; } /* --- Badge --- */ .badge { display: inline-block; padding: 0.2rem 0.6rem; border-radius: 4px; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; } .badge-complete { background: var(--green-dim); color: var(--green); } .badge-partial { background: var(--amber-dim); color: var(--amber); } .badge-planned { background: var(--accent-dim); color: var(--accent); } /* --- Footer --- */ footer { border-top: 1px solid var(--border); padding: 2rem; text-align: center; color: var(--text-muted); font-size: 0.85rem; } footer a { color: var(--text-muted); } footer a:hover { color: var(--text); } /* --- Responsive --- */ @media (max-width: 600px) { nav { padding: 0.75rem 1rem; gap: 1rem; flex-wrap: wrap; } .hero { padding: 3rem 1.5rem 2rem; } .hero h1 { font-size: 2rem; } .container { padding: 2rem 1.25rem; } .features { grid-template-columns: 1fr; } }