/* fktrt.css — FKT Rejection Tracker
   House style shared with fkt-difficulty-scorer, fkt-attempt-scorer and
   fkt-portfolio-scorer: Georgia serif, warm brown accent, a bordered card with
   a solid header band, sans-serif small caps for labels, no shadows.

   Width: max-width with width:100% and border-box, so the block never grows
   past a narrower theme column. */

.fktrt {
    font-family: 'Georgia', serif;
    max-width: 760px;
    width: 100%;
    margin: 2rem auto;
    color: #1a1a1a;
    line-height: 1.55;
    box-sizing: border-box;
}

.fktrt *,
.fktrt *::before,
.fktrt *::after { box-sizing: border-box; }

.fktrt-h {
    font-family: 'Georgia', serif;
    color: #4a3728;
    font-size: 1.5rem;
    margin: 0 0 .5rem;
}

.fktrt-lede { color: #555; margin: 0 0 1.5rem; }
.fktrt-empty { color: #888; font-style: italic; }

/* ── Notices ── */

.fktrt-notice {
    padding: 1rem 1.25rem;
    border-radius: 4px;
    margin: 0 0 1.5rem;
    font-size: .95rem;
}
.fktrt-notice--ok  { background: #f0f5ee; border-left: 4px solid #4a7a3c; color: #2f4a26; }
.fktrt-notice--bad { background: #fdf0f0; border-left: 4px solid #c0392b; color: #7b241c; }

/* ── Form card ── */

.fktrt-form {
    border: 1px solid #d8cfc4;
    border-radius: 6px;
    overflow: hidden;
    background: #f5f0ea;
}

.fktrt-fs {
    border: none;
    margin: 0;
    padding: 1.5rem 2rem 1.75rem;
    background: #fff;
    border-bottom: 1px solid #e8e0d6;
}

.fktrt-fs legend {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #7a6555;
    font-family: sans-serif;
    padding: 0;
    margin-bottom: .25rem;
}

.fktrt-l { display: block; margin: 1rem 0 0; }

.fktrt-l > span {
    display: block;
    font-size: .75rem;
    font-family: sans-serif;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #888;
    margin-bottom: .3rem;
}
.fktrt-l > span em {
    font-style: normal;
    text-transform: none;
    letter-spacing: 0;
    color: #a05a52;
}
.fktrt-l small,
.fktrt-small {
    display: block;
    font-size: .8rem;
    font-family: sans-serif;
    color: #666;
    margin-top: .35rem;
    line-height: 1.6;
}
.fktrt-fs > .fktrt-small { margin-top: .6rem; }

.fktrt-l input[type="text"],
.fktrt-l input[type="email"],
.fktrt-l input[type="date"],
.fktrt-l select,
.fktrt-l textarea {
    width: 100%;
    font-family: 'Georgia', serif;
    font-size: .95rem;
    padding: .55rem .7rem;
    border: 1px solid #d8cfc4;
    border-radius: 4px;
    background: #fff;
    color: #1a1a1a;
}

.fktrt-l textarea { line-height: 1.55; resize: vertical; }

.fktrt-l input:focus,
.fktrt-l select:focus,
.fktrt-l textarea:focus {
    outline: none;
    border-color: #4a3728;
    box-shadow: 0 0 0 2px rgba(74, 55, 40, .12);
}

.fktrt-row { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.fktrt-row .fktrt-l { flex: 1 1 220px; }

.fktrt-check { display: flex; gap: .6rem; align-items: flex-start; margin: 1.1rem 0 0; }
.fktrt-check input { margin-top: .3rem; flex-shrink: 0; }
.fktrt-check span { font-size: .92rem; line-height: 1.55; }

/* ── Buttons ── */

.fktrt-btn {
    display: inline-block;
    padding: .5rem 1.4rem;
    background: #4a3728;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: .9rem;
    font-family: inherit;
    text-decoration: none;
    transition: background .15s;
}
.fktrt-btn:hover { background: #2e2018; }
.fktrt-btn[disabled] { opacity: .6; cursor: default; }

.fktrt-form > .fktrt-btn { margin: 1.25rem 2rem 1.4rem; }

/* honeypot: off-screen rather than display:none, which some bots detect */
.fktrt-hp {
    position: absolute !important;
    left: -9999px !important;
    height: 1px;
    overflow: hidden;
}

/* ── Stats card ── */

.fktrt-stats {
    border: 1px solid #d8cfc4;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.fktrt-counter {
    background: #4a3728;
    color: #fff;
    padding: 1.75rem 2rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.fktrt-counter-n {
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: -.02em;
}

.fktrt-counter-l {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .85;
    flex: 1;
    min-width: 200px;
}

.fktrt-block {
    padding: 1.5rem 2rem;
    border-bottom: 1px solid #e8e0d6;
    margin: 0;
}

.fktrt-h4 {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #7a6555;
    font-family: sans-serif;
    font-weight: normal;
    margin: 0 0 1rem;
    padding: 0;
    border: none;
}

.fktrt-note {
    font-size: .82rem;
    font-family: sans-serif;
    color: #666;
    line-height: 1.6;
    margin: .9rem 0 0;
}

/* Charts. The blue and red are the same values used in the site's published
   figures, so a reader moving between the two sees one palette. */

.fktrt-svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}
.fktrt-svg-label { font-family: 'Georgia', serif; font-size: 13px; fill: #4a3728; }
.fktrt-svg-value { font-family: 'Georgia', serif; font-size: 12px; fill: #666; }
.fktrt-svg-axis  { font-family: sans-serif;      font-size: 11px; fill: #999; }

.fktrt-foot {
    font-size: .82rem;
    font-family: sans-serif;
    color: #666;
    line-height: 1.6;
    background: #faf8f5;
    padding: 1.25rem 2rem;
    margin: 0;
    border: none;
}
.fktrt-foot a { color: #4a3728; }

.fktrt-stats > .fktrt-block:last-of-type { border-bottom: 1px solid #e8e0d6; }

/* ── Responsive ── */

@media ( max-width: 520px ) {
    .fktrt-counter { flex-direction: column; align-items: flex-start; gap: .5rem; padding: 1.5rem 1rem; }
    .fktrt-counter-n { font-size: 2.6rem; }
    .fktrt-block,
    .fktrt-foot { padding: 1.25rem 1rem; }
    .fktrt-fs { padding: 1.25rem 1rem 1.5rem; }
    .fktrt-form > .fktrt-btn { margin: 1.1rem 1rem 1.25rem; }
    .fktrt-row { display: block; }
    .fktrt-svg-label { font-size: 15px; }
}
