/* Amazon Fee & Reimbursement Checker.
   Scoped to .fc so the tool can carry its own dark mode without touching the rest
   of the site, which is light-only. */
/* Light is just the site's own palette, aliased so the tool can be themed in one place. */
body.fc-page{
 --fc-bg:var(--bg);--fc-surface:var(--surface);--fc-surface-2:var(--surface-2);
 --fc-line:var(--line);--fc-ink:var(--ink);--fc-ink-2:var(--ink-2);--fc-muted:var(--muted);
 --fc-accent:var(--accent);--fc-accent-soft:var(--accent-soft);
 --fc-good:#1f7a4d;--fc-good-soft:#e7f5ed;
 --fc-warn:#9a6b00;--fc-warn-soft:#fdf3dd;
 --fc-shadow:0 26px 52px -34px #10121845;
 background:var(--fc-bg);
}
/* Dark mode redefines the SITE's variables too, so the header, footer, headings and
   links that come from styles.css follow along instead of staying light. */
body.fc-page[data-theme="dark"]{
 --bg:#0e1014;--surface:#161920;--surface-2:#1e222b;--line:#2a2f3a;--line-strong:#39404d;
 --ink:#f2f3f5;--ink-2:#c7cad2;--muted:#9aa0ae;--subtle:#848b99;
 --accent:#ff7a3d;--accent-hover:#ff9560;--accent-soft:#2a1710;--accent-line:#4a2c1c;
 --green:#5fd39b;--green-soft:#12271d;
 --fc-good:#5fd39b;--fc-good-soft:#12271d;
 --fc-warn:#f0c36a;--fc-warn-soft:#2a2213;
 --fc-shadow:0 26px 52px -34px #000a;
 color:var(--ink);
}
/* the site paints soft light auras on the body; tone them down on a dark page */
body.fc-page[data-theme="dark"]::before{opacity:.18}
body.fc-page[data-theme="dark"]::after{opacity:.1}
body.fc-page[data-theme="dark"] .site-header .header-inner{background:#161920e0;border-color:var(--line)}
body.fc-page[data-theme="dark"] .header-link{background:var(--accent);color:#17120e}
body.fc-page[data-theme="dark"] .site-footer{border-color:var(--line)}
.fc{color:var(--fc-ink)}
.fc h1,.fc h2,.fc h3{color:var(--fc-ink)}

.fc{padding-block:26px 70px}
.fc h1{font-size:clamp(2.1rem,5.2vw,3.4rem);letter-spacing:-.04em;line-height:1.02}
.fc .fc-sub{margin-top:14px;font-size:17.5px;line-height:1.6;color:var(--fc-muted);max-width:62ch}
.fc h2{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.03em}
.fc h3{font-size:17px;letter-spacing:-.02em}

/* privacy line */
.fc-privacy{display:flex;align-items:flex-start;gap:12px;margin-top:22px;padding:15px 18px;
 border:1px solid var(--fc-line);border-radius:14px;background:var(--fc-good-soft);max-width:78ch}
.fc-privacy svg{flex:none;margin-top:1px;color:var(--fc-good)}
.fc-privacy p{font-size:14.5px;line-height:1.6;color:var(--fc-ink-2)}
.fc-privacy strong{color:var(--fc-ink)}

/* theme toggle */
.fc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px}
.fc-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:12px;
 border:1px solid var(--fc-line);background:var(--fc-surface);color:var(--fc-ink);
 font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.fc-btn:hover{border-color:var(--fc-accent);transform:translateY(-1px)}
.fc-btn-primary{background:var(--fc-accent);border-color:var(--fc-accent);color:#fff}
.fc-btn-primary:hover{background:var(--fc-accent)}
.fc-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* drop zones */
.fc-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.fc-drop{position:relative;display:flex;flex-direction:column;gap:7px;padding:20px;border-radius:16px;
 border:1.5px dashed var(--fc-line);background:var(--fc-surface);transition:border-color .25s,background .25s}
.fc-drop.is-over{border-color:var(--fc-accent);background:var(--fc-accent-soft)}
.fc-drop.is-loaded{border-style:solid;border-color:var(--fc-good)}
.fc-drop .fc-tag{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--fc-accent)}
.fc-drop.optional .fc-tag{color:var(--fc-muted)}
.fc-drop p{font-size:13.5px;line-height:1.55;color:var(--fc-muted)}
.fc-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.fc-drop .fc-file{font-size:13px;color:var(--fc-good);font-weight:600;word-break:break-all}
.fc-drop .fc-file.err{color:var(--fc-accent)}

/* progress */
.fc-progress{margin-top:18px;display:none}
.fc-progress.on{display:block}
.fc-progress .bar{height:6px;border-radius:999px;background:var(--fc-surface-2);overflow:hidden}
.fc-progress .bar i{display:block;height:100%;width:0;background:var(--fc-accent);transition:width .2s}
.fc-progress p{margin-top:8px;font-size:13px;color:var(--fc-muted)}

/* results */
.fc-results{display:none;margin-top:40px}
.fc-results.on{display:block}
.fc-headline{padding:26px 28px;border-radius:18px;background:var(--fc-surface);border:1px solid var(--fc-line);box-shadow:var(--fc-shadow)}
.fc-headline .big{font-family:var(--display,inherit);font-weight:650;letter-spacing:-.04em;
 font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.1}
.fc-headline .big em{font-style:normal;color:var(--fc-accent)}
.fc-headline p{margin-top:8px;font-size:14.5px;color:var(--fc-muted)}
.fc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.fc-card{padding:18px;border-radius:16px;background:var(--fc-surface);border:1px solid var(--fc-line)}
.fc-card .n{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--fc-muted)}
.fc-card .amt{margin-top:8px;font-size:26px;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.fc-card .cnt{margin-top:2px;font-size:13.5px;color:var(--fc-muted)}

/* chart */
.fc-chart{margin-top:16px;padding:20px;border-radius:16px;background:var(--fc-surface);border:1px solid var(--fc-line)}
.fc-chart h3{margin-bottom:14px}
.fc-bar{display:grid;grid-template-columns:minmax(0,190px) 1fr auto;align-items:center;gap:12px;margin-bottom:10px;font-size:13.5px}
.fc-bar .track{height:12px;border-radius:999px;background:var(--fc-surface-2);overflow:hidden}
.fc-bar .track i{display:block;height:100%;border-radius:999px;background:var(--fc-accent);width:0;transition:width .8s cubic-bezier(.22,1,.36,1)}
.fc-bar .val{font-variant-numeric:tabular-nums;font-weight:600}

/* check blocks */
.fc-check{margin-top:26px;border:1px solid var(--fc-line);border-radius:18px;background:var(--fc-surface);overflow:hidden}
.fc-check>header{padding:20px 22px;border-bottom:1px solid var(--fc-line)}
.fc-check h3{font-size:18px}
.fc-check .how{margin-top:8px;font-size:13.5px;line-height:1.65;color:var(--fc-muted)}
.fc-check .how code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;
 padding:2px 6px;border-radius:6px;background:var(--fc-surface-2);color:var(--fc-ink-2)}
.fc-empty{padding:20px 22px;font-size:14px;color:var(--fc-muted)}
.fc-tablewrap{overflow-x:auto;max-height:460px;overflow-y:auto}
.fc-check table{width:100%;border-collapse:collapse;font-size:13.5px}
.fc-check th,.fc-check td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--fc-line);white-space:nowrap}
.fc-check th{position:sticky;top:0;background:var(--fc-surface-2);font-size:11.5px;letter-spacing:.06em;
 text-transform:uppercase;color:var(--fc-muted);cursor:pointer;user-select:none;z-index:1}
.fc-check th[aria-sort="ascending"]::after{content:" \2191";color:var(--fc-accent)}
.fc-check th[aria-sort="descending"]::after{content:" \2193";color:var(--fc-accent)}
.fc-check td.num{text-align:right;font-variant-numeric:tabular-nums}
.fc-check td.diff{color:var(--fc-accent);font-weight:600}
.fc-check tbody tr:hover{background:var(--fc-surface-2)}
.fc-more{padding:12px 22px;font-size:13px;color:var(--fc-muted);border-top:1px solid var(--fc-line)}

/* settings */
.fc-settings{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:14px 18px;
 border:1px solid var(--fc-line);border-radius:14px;background:var(--fc-surface-2);font-size:13.5px;color:var(--fc-ink-2)}
.fc-settings label{display:inline-flex;align-items:center;gap:8px}
.fc-settings input{width:76px;min-height:38px;padding:6px 10px;border-radius:9px;border:1px solid var(--fc-line);
 background:var(--fc-surface);color:var(--fc-ink);font:inherit;font-size:13.5px}

/* how-to + cta */
.fc-howto{margin-top:46px;padding:26px 28px;border-radius:18px;border:1px solid var(--fc-line);background:var(--fc-surface)}
.fc-howto ol{margin:14px 0 0;padding-left:20px;display:grid;gap:9px}
.fc-howto li{font-size:14.5px;line-height:1.6;color:var(--fc-ink-2)}
.fc-howto strong{color:var(--fc-ink)}
.fc-cta{margin-top:26px;padding:26px 28px;border-radius:18px;border:1px solid var(--fc-accent);
 background:var(--fc-accent-soft);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.fc-cta h2{font-size:clamp(1.3rem,2.4vw,1.75rem)}
.fc-cta p{margin-top:7px;font-size:14.5px;line-height:1.6;color:var(--fc-ink-2);max-width:58ch}
.fc-note{margin-top:26px;font-size:13px;line-height:1.65;color:var(--fc-muted)}
.fc-sample-flag{display:none;margin-top:14px;padding:12px 16px;border-radius:12px;
 background:var(--fc-warn-soft);border:1px solid var(--fc-line);color:var(--fc-warn);font-size:13.5px;font-weight:600}
.fc-sample-flag.on{display:block}

@media(max-width:900px){.fc-inputs,.fc-cards{grid-template-columns:1fr}}
@media(max-width:600px){
 .fc-bar{grid-template-columns:1fr auto;gap:6px}
 .fc-bar .track{grid-column:1/-1}
 .fc-headline,.fc-howto,.fc-cta{padding:20px}
}
@media(prefers-reduced-motion:reduce){.fc-bar .track i,.fc-progress .bar i{transition:none}}
