/* Evening Reader — the site is drawn from the app's own ramp: the default glow
   (warmth 0.87, glow 0.80, contrast 0.30) mapped through AmberPalette. */

:root {
    --page: #b96d2e;
    --page-dim: #a96126;
    --page-raised: #c87936;
    --bloom: #d1803c;
    --ink: #170c03;
    --ink-strong: #0f0802;
    --ink-muted: #4e290b;
    --ink-faint: #713d12;
    --rule: #91511c;
    --fill: #a15c22;
    --fill-active: #2f1906;
    --page-rgb: 185, 109, 46;
    --bloom-rgb: 209, 128, 60;
    --ink-rgb: 23, 12, 3;
    --ramp: linear-gradient(90deg, #0f0802, #4e290b, #713d12, #91511c, #a15c22, #b96d2e, #c87936, #d1803c);
    --warmth-track: linear-gradient(90deg, #b9a37f, #b96d2e);
    --ramp-ink-label: #b96d2e;
    --ramp-glow-label: #170c03;
    --serif: ui-serif, "New York", "Iowan Old Style", Georgia, "Times New Roman", serif;
    --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

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

html { background: var(--page); }

body {
    font-family: var(--sans);
    color: var(--ink);
    background:
        radial-gradient(ellipse 70% 45% at 50% 18%, rgba(var(--bloom-rgb), 0.55), rgba(var(--bloom-rgb), 0) 70%),
        var(--page);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

/* Nav */

nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    background: rgba(var(--page-rgb), 0.82);
    -webkit-backdrop-filter: saturate(140%) blur(18px);
    backdrop-filter: saturate(140%) blur(18px);
    border-bottom: 1px solid var(--rule);
    z-index: 100;
}

.navbar {
    width: 100%;
    max-width: 880px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.navbar a {
    text-decoration: none;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--ink);
    transition: background 0.2s;
}

.navbar a:hover { background: rgba(var(--ink-rgb), 0.08); }

.navbar .brand {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-right: auto;
    color: var(--ink-strong);
    white-space: nowrap;
}

a.download {
    background: var(--fill-active);
    color: var(--page-raised);
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 999px;
    text-decoration: none;
    line-height: 1.1;
    white-space: nowrap;
}

a.download:hover { background: var(--ink); }

a.download.large {
    display: inline-block;
    font-size: 17px;
    padding: 13px 24px;
}

/* Hero */

.hero {
    text-align: center;
    padding: 110px 20px 36px;
    max-width: 820px;
    margin: 0 auto;
}

.hero .icon {
    width: 96px;
    height: 96px;
    border-radius: 22%;
    box-shadow: 0 8px 30px rgba(var(--ink-rgb), 0.35);
    margin-bottom: 22px;
}

h1 {
    font-family: var(--serif);
    font-size: 60px;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.012em;
    color: var(--ink-strong);
    margin-bottom: 14px;
}

.tagline {
    font-family: var(--serif);
    font-size: 27px;
    line-height: 1.2;
    color: var(--ink-muted);
    margin-bottom: 8px;
}

.description {
    font-size: 19px;
    line-height: 1.5;
    max-width: 640px;
    margin: 0 auto 30px;
    color: var(--ink);
}

.cta { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.cta .fine { font-size: 12px; letter-spacing: 0.04em; color: var(--ink-faint); text-transform: uppercase; }

/* The glow: the ramp, and the one slider that moves it. Drawn like the app's panel:
   thirteen steps of the ramp, ink at one end and glow at the other; the warmth track
   is the page itself across the range, from a bulb to a flame. */

.glow {
    max-width: 400px;
    margin: 26px auto 30px;
    text-align: left;
}

.glow .ramp {
    position: relative;
    height: 34px;
    border-radius: 8px;
    background: var(--ramp);
    border: 1px solid var(--rule);
    margin-bottom: 16px;
}

.glow .ramp .end {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.glow .ramp .ink { left: 8px; color: var(--ramp-ink-label); }
.glow .ramp .glow-end { right: 8px; color: var(--ramp-glow-label); }

.glow .row {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
}

.glow .row .name { color: var(--ink); font-weight: 500; }
.glow .row .value { color: var(--ink-faint); margin-left: auto; font-variant-numeric: tabular-nums; }
.glow .symbol { width: 18px; height: 18px; color: var(--ink-muted); flex: none; }

.glow input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    flex: 1;
    height: 28px;
    background: transparent;
    margin: 0;
    cursor: pointer;
}
.glow input[type="range"]:focus { outline: none; }
.glow input[type="range"]::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 3px;
    background: var(--warmth-track);
    border: 1px solid var(--rule);
}
.glow input[type="range"]::-moz-range-track {
    height: 6px;
    border-radius: 3px;
    background: var(--warmth-track);
    border: 1px solid var(--rule);
}
.glow input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    margin-top: -9px;
    border-radius: 50%;
    background: var(--page-raised);
    border: 2px solid var(--fill-active);
    box-shadow: 0 2px 8px rgba(var(--ink-rgb), 0.3);
}
.glow input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--page-raised);
    border: 2px solid var(--fill-active);
    box-shadow: 0 2px 8px rgba(var(--ink-rgb), 0.3);
}

/* Phones */

.phones {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 28px;
    max-width: 1040px;
    margin: 40px auto 0;
    padding: 0 20px;
}

.phones figure { flex: 1 1 0; max-width: 300px; text-align: center; }
.phones figure.lead { max-width: 340px; }

.phones img,
.closing .book img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12%/5.6%;
    border: 1px solid var(--rule);
    box-shadow: 0 30px 60px rgba(var(--ink-rgb), 0.35);
    mix-blend-mode: multiply;
}

figcaption {
    font-size: 13px;
    color: var(--ink-faint);
    margin-top: 16px;
    letter-spacing: 0.02em;
}

/* Features */

.features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 36px;
    max-width: 980px;
    margin: 96px auto 0;
    padding: 56px 20px 0;
    border-top: 1px solid var(--rule);
}

.feature h2 {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.005em;
    color: var(--ink-strong);
    margin-bottom: 10px;
}

.feature p { font-size: 15px; line-height: 1.55; color: var(--ink-muted); }

/* iPad */

.wide { max-width: 640px; margin: 96px auto 0; padding: 0 20px; text-align: center; }

.wide img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
    border: 1px solid var(--rule);
    box-shadow: 0 30px 60px rgba(var(--ink-rgb), 0.35);
    mix-blend-mode: multiply;
}

/* Closing */

.closing { text-align: center; padding: 96px 20px 0; }
.closing .book { max-width: 260px; margin: 0 auto 34px; }
.closing .line {
    font-family: var(--serif);
    font-size: 30px;
    color: var(--ink-strong);
    margin-bottom: 26px;
}

/* Text pages */

.content {
    max-width: 680px;
    margin: 0 auto;
    padding: 110px 20px 40px;
    font-size: 17px;
    line-height: 1.6;
}

.content h1 { font-size: 44px; margin-bottom: 22px; }
.content h2 {
    font-family: var(--serif);
    font-size: 24px;
    font-weight: 600;
    margin: 42px 0 14px;
    color: var(--ink-strong);
}
.content p { margin-bottom: 16px; }
.content ul { margin: 0 0 16px 22px; }
.content li { margin-bottom: 8px; }
.content a { color: var(--ink-strong); text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; }
.content .contact {
    background: var(--page-dim);
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 20px 22px;
    margin: 20px 0 8px;
}
.content .contact p { margin-bottom: 8px; }
.content .contact p:last-child { margin-bottom: 0; }
.content .contact .email { font-family: var(--serif); font-size: 22px; }
.faq-item { margin-bottom: 22px; }
.faq-question { font-weight: 600; color: var(--ink-strong); margin-bottom: 4px; }
.faq-answer { color: var(--ink-muted); }
.content .updated { font-size: 13px; color: var(--ink-faint); }

/* Footer */

footer {
    text-align: center;
    padding: 40px 20px;
    margin-top: 96px;
    border-top: 1px solid var(--rule);
    color: var(--ink-faint);
    font-size: 12px;
}

footer .links { margin-top: 10px; }
footer .links a { color: var(--ink-muted); text-decoration: none; }
footer .links a:hover { text-decoration: underline; }

/* Small screens */

@media (max-width: 760px) {
    h1 { font-size: 42px; }
    .tagline { font-size: 22px; }
    .description { font-size: 17px; }
    .phones { flex-wrap: wrap; gap: 20px; }
    .phones figure { flex: 1 1 42%; max-width: none; }
    .phones figure.lead { flex-basis: 100%; max-width: 320px; margin: 0 auto; order: -1; }
    .features { grid-template-columns: 1fr; gap: 30px; margin-top: 64px; padding-top: 40px; }
    .wide, .closing { margin-top: 64px; }
    .content h1 { font-size: 34px; }
    nav { padding: 0 12px; }
    .navbar { gap: 0; }
    .navbar a { font-size: 12px; }
    .navbar a:not(.brand):not(.download) { padding: 6px 6px; }
    .navbar .brand { font-size: 10px; letter-spacing: 0.1em; }
    .navbar a.download { padding: 6px 11px; margin-left: 4px; }
}
