/* allmyllcs.com — same rules as the app: 21px+ text that grows with the phone's setting, 48px+ tap targets. */
:root{
  --navy:#1E3A52; --green:#1F7A55; --green-btn:#5BC79A; --ink:#16232E; --muted:#4F5E68; --line:#D5DDDB;
  --bg:#F3F6F5; --panel:#FFFFFF; --soft:#E7F2EC; --warn-bg:#F6EBD3; --warn-line:#B98A2E;
}
@media (prefers-color-scheme: dark){
  :root{ --navy:#9CC3E6; --green:#6FD3A6; --ink:#EEF3F2; --muted:#B5C2C8; --line:#2E3E48; --bg:#0F1A20; --panel:#172630; --soft:#183A2E; --warn-bg:#3A2E16; --warn-line:#C99A3A; }
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:max(21px, 1.3125rem); line-height:1.5; }
a{ color:var(--navy); text-underline-offset:3px; }
img{ max-width:100%; height:auto; display:block; }
.wrap{ max-width:1080px; margin:0 auto; padding:0 16px; }
header.site{ position:sticky; top:0; z-index:5; background:var(--bg); border-bottom:1px solid var(--line); }
header.site .wrap{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; flex-wrap:wrap; }
.logo{ display:inline-flex; align-items:center; min-height:48px; font-weight:800; font-size:max(26px, 1.625rem); text-decoration:none; color:var(--navy); letter-spacing:-0.01em; }
.logo span{ color:var(--green); margin-left:0.28em; }
.textlink{ display:inline-flex; align-items:center; min-height:48px; }
nav.top{ display:flex; gap:8px; flex-wrap:wrap; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:56px; padding:10px 22px; border-radius:12px;
  font:inherit; font-weight:700; text-decoration:none; cursor:pointer; border:2px solid var(--navy); background:transparent; color:var(--navy); }
.btn.primary{ background:var(--green-btn); border-color:var(--green-btn); color:#0F1A20; }
.btn:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, .goal:focus-visible{ outline:3px solid #2B7BD6; outline-offset:3px; }
h1{ font-size:max(40px, 2.5rem); line-height:1.15; margin:0 0 16px; letter-spacing:-0.02em; }
h2{ font-size:max(32px, 2rem); line-height:1.2; margin:0 0 12px; }
h3{ font-size:max(24px, 1.5rem); margin:0 0 8px; }
.lead{ font-size:max(24px, 1.5rem); color:var(--muted); margin:0 0 24px; }
section{ padding:48px 0; border-bottom:1px solid var(--line); }
.hero{ padding:56px 0 48px; }
.row{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.split{ display:grid; gap:32px; align-items:start; }
@media (min-width:860px){ .split{ grid-template-columns:1.2fr 1fr; } .split.flip > :first-child{ order:2; } }
.shot{ border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--panel); max-width:380px; margin:0 auto; box-shadow:0 8px 24px rgba(0,0,0,.08); }
.shots{ display:grid; gap:20px; grid-template-columns:1fr; }
@media (min-width:700px){ .shots{ grid-template-columns:repeat(3, 1fr); } }
.cap{ font-size:max(21px, 1.3125rem); color:var(--muted); text-align:center; margin:8px 0 0; }
.panel{ background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:20px; }
ul.check{ list-style:none; padding:0; margin:0 0 16px; }
ul.check li{ padding:8px 0 8px 40px; position:relative; }
ul.check li::before{ content:"✓"; position:absolute; left:6px; top:8px; color:var(--green); font-weight:800; }
.tag{ display:inline-block; font-size:max(21px, 1.3125rem); font-weight:700; padding:0 10px; border-radius:999px; background:var(--soft); color:var(--green); }
.goals{ display:grid; gap:12px; grid-template-columns:1fr; margin:16px 0 20px; }
@media (min-width:700px){ .goals{ grid-template-columns:repeat(3, 1fr); } }
.goal{ min-height:72px; border-radius:14px; border:2px solid var(--line); background:var(--panel); color:var(--ink); font:inherit; font-weight:700; cursor:pointer; padding:12px 16px; text-align:left; }
.goal[aria-pressed="true"]{ border-color:var(--green); background:var(--soft); }
.goal .icon{ margin-right:8px; }
.path[hidden]{ display:none; }
.note{ background:var(--warn-bg); border:1px solid var(--warn-line); border-radius:12px; padding:14px 16px; }
.disclaim{ color:var(--muted); }
form .field{ margin:0 0 18px; }
label{ display:block; font-weight:700; margin:0 0 6px; }
input, select{ width:100%; min-height:56px; font:inherit; padding:10px 14px; border-radius:12px; border:2px solid var(--line); background:var(--panel); color:var(--ink); }
.hp{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.err{ color:#B3261E; font-weight:700; }
@media (prefers-color-scheme: dark){ .err{ color:#FF9C94; } }
details.faq{ border:1px solid var(--line); border-radius:14px; background:var(--panel); margin:0 0 12px; }
details.faq summary{ min-height:56px; padding:14px 18px; cursor:pointer; font-weight:700; }
details.faq > div{ padding:0 18px 16px; }
.src{ font-size:max(21px, 1.3125rem); color:var(--muted); margin:4px 0 20px; }
.src a{ color:var(--muted); }
article.guide{ max-width:760px; }
article.guide h2{ font-size:max(28px, 1.75rem); margin-top:32px; }
footer.site{ padding:40px 0 56px; color:var(--muted); }
footer.site a{ color:var(--muted); display:inline-flex; align-items:center; min-height:48px; margin-right:18px; }
.price{ text-align:center; }
.price .panel{ max-width:720px; margin:0 auto; }
