* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --bg: #f6f5f0;
    --text: #555;
    --bright: #1a1a1a;
    --green: #2a7d4f;
    --dim: #999;
    --mono: 'JetBrains Mono', monospace;
    --card: #edece7;
    --border: #ddd;
}

html { height: 100%; }
body {
    font-family: var(--mono);
    background: var(--bg);
    color: var(--text);
    min-height: 100%;
    font-size: 13px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--green); text-decoration: none; }
a:hover { text-decoration: underline; }

/* nav */
.nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 10;
    padding: 20px 32px;
    display: flex; justify-content: space-between; align-items: center;
    background: rgba(246,245,240,0.9); backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border);
}
.nav-left { color: var(--green); font-weight: 700; font-size: 14px; letter-spacing: -0.5px; }
.nav-right { display: flex; gap: 24px; }
.nav-right a { color: var(--dim); font-size: 12px; }
.nav-right a:hover { color: var(--text); text-decoration: none; }

/* layout */
.page { max-width: 600px; margin: 0 auto; padding: 120px 32px 80px; }

/* index hero */
.hero { padding: 80px 0 60px; }
.hero h1 {
    font-size: 18px; font-weight: 700; color: var(--bright);
    letter-spacing: -0.5px; margin-bottom: 24px; line-height: 1.5;
}
.hero h1 em { font-style: normal; color: var(--green); }
.hero p { margin-bottom: 16px; }
.hero-links { margin-top: 32px; display: flex; gap: 24px; }

/* terminal block */
.term {
    background: #1a1a1a; border: none; border-radius: 6px;
    padding: 20px 24px; margin: 24px 0; font-size: 12px;
    line-height: 1.8; overflow-x: auto; color: #aaa;
}
.term .prompt { color: #6ec98a; }
.term .comment { color: #666; }
.term .output { color: #ccc; }

/* sections */
.section { padding: 48px 0; border-top: 1px solid var(--border); }
.section h2 { font-size: 13px; font-weight: 700; color: var(--bright); margin-bottom: 16px; }
.section p { margin-bottom: 12px; }

/* pricing */
.plans { display: flex; flex-direction: column; gap: 1px; margin: 16px 0; }
.plan {
    display: flex; justify-content: space-between; align-items: baseline;
    padding: 12px 0; border-bottom: 1px solid var(--border);
}
.plan-name { color: var(--bright); }
.plan-price { color: var(--green); }

/* account page */
.input-row { display: flex; gap: 8px; margin: 12px 0; }
.input {
    flex: 1; background: #fff; border: 1px solid var(--border);
    color: var(--bright); font-family: var(--mono); font-size: 13px;
    padding: 10px 14px; outline: none; border-radius: 4px;
}
.input::placeholder { color: #bbb; }
.input:focus { border-color: var(--green); }

.btn {
    background: var(--green); border: 1px solid var(--green); color: #fff;
    font-family: var(--mono); font-size: 12px; padding: 10px 20px;
    cursor: pointer; text-decoration: none; display: inline-block;
    transition: all 0.15s; border-radius: 4px;
}
.btn:hover { opacity: 0.85; text-decoration: none; }
.btn-dim { background: none; border-color: var(--border); color: var(--text); }
.btn-dim:hover { border-color: var(--green); color: var(--green); opacity: 1; }

.warn { color: #b44; margin: 12px 0; }
.ok { color: var(--green); margin: 12px 0; }

.balance {
    font-size: 20px; font-weight: 700; color: var(--green);
    padding: 20px 0; letter-spacing: -0.5px;
}
.balance small { font-size: 11px; color: var(--dim); font-weight: 400; }

.time-opts { display: flex; gap: 8px; margin: 12px 0; flex-wrap: wrap; }
.time-opt {
    background: #fff; border: 1px solid var(--border); color: var(--text);
    font-family: var(--mono); font-size: 12px; padding: 8px 16px;
    cursor: pointer; border-radius: 4px;
}
.time-opt:hover, .time-opt.sel { border-color: var(--green); color: var(--green); background: #f0f7f2; }

.pay-row { display: flex; gap: 8px; margin: 16px 0; }

.copy-btn {
    background: #fff; border: 1px solid var(--border); color: var(--dim);
    font-family: var(--mono); font-size: 11px; padding: 10px 12px; cursor: pointer;
    border-radius: 4px;
}
.copy-btn:hover { border-color: var(--green); color: var(--green); }

.spinner {
    width: 16px; height: 16px; border: 2px solid var(--border); border-top-color: var(--green);
    border-radius: 50%; animation: spin 0.6s linear infinite; display: inline-block;
}
@keyframes spin { to { transform: rotate(360deg); } }

.hidden { display: none !important; }

/* footer */
.footer { padding: 48px 32px; color: var(--dim); font-size: 11px; text-align: center; }
.footer a { color: var(--dim); }

/* downloads grid */
.dl-grid { display: flex; flex-direction: column; gap: 1px; margin: 16px 0; }
.dl-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 0; border-bottom: 1px solid var(--border);
}
.dl-row span { color: var(--dim); }

@media (max-width: 500px) {
    .nav { padding: 16px 20px; }
    .page { padding: 100px 20px 60px; }
    .pay-row { flex-direction: column; }
    .hero-links { flex-direction: column; gap: 12px; }
}
