
:root{
  --blue:#173d8f; --blue2:#214d9b; --ink:#0e1b36; --muted:#60708f;
  --line:#dbe3f2; --bg:#1b1c1e; --card:#fff; --cream:#fffaf0; --accent:#f0a000;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
.app{max-width:760px;margin:auto;padding-bottom:115px}
.hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#21499a,#173d8f);color:#fff;padding:54px 30px 100px}
.hero .date{font-size:1.1rem;opacity:.9}.hero h1{font-size:clamp(3rem,12vw,4.6rem);line-height:.9;margin:14px 0 22px;letter-spacing:-3px}
.hero p{font-size:1.35rem;margin:0}.hero-drop{position:absolute;right:-10px;bottom:-20px;font-size:210px;opacity:.08;filter:grayscale(1)}
.card{background:var(--card);border:1px solid var(--line);border-radius:30px;margin:24px 28px;padding:28px;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.setup-card{margin-top:-75px;position:relative;border:2px solid var(--accent);background:var(--cream)}
h2{margin:0 0 8px;font-size:1.55rem}.setup-card p{font-size:1.05rem;color:var(--muted);line-height:1.35;margin:0 0 14px}
.summary{display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:center}
.score{width:125px;height:125px;border-radius:50%;background:radial-gradient(circle,#fff 45%,#eaf2ff 47%,#f4f8ff 68%);display:flex;flex-direction:column;align-items:center;justify-content:center}
.score span{font-size:3.1rem;font-weight:800}.score small{color:var(--muted)}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;color:var(--muted)}.summary-grid b{color:var(--ink)}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-title strong{font-size:2.8rem;color:var(--blue)}
.gym-row{display:flex;align-items:center;justify-content:space-between;background:#f4f7fd;border:1px solid #d9e3f4;padding:18px;border-radius:18px;font-weight:700}
input[type=checkbox]{width:28px;height:28px;accent-color:var(--blue)}
.cups{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:28px 0}
.cup{height:58px;border:4px solid #b8cae8;border-top-width:5px;clip-path:polygon(10% 0,90% 0,80% 100%,20% 100%);background:#eef4fd;position:relative}
.cup.full:after{content:"";position:absolute;left:0;right:0;bottom:0;height:82%;background:#75a6e6}
.muted{color:var(--muted)}
.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
button{border:0;border-radius:16px;padding:15px 18px;font-size:1rem;font-weight:750;background:#eef2f8;color:var(--ink)}
button.primary{background:var(--blue);color:white;box-shadow:0 5px 12px rgba(23,61,143,.25)}button.small{padding:10px 15px}
.item{display:grid;grid-template-columns:auto 1fr;gap:15px;padding:18px 0;border-bottom:1px solid #e3e8f1}.item:last-child{border-bottom:0}
.item h3{margin:0 0 5px;font-size:1.04rem}.item p{margin:0;color:var(--muted);line-height:1.35}
.level{font-size:.84rem;color:var(--muted);margin-top:4px}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;margin-bottom:15px;font-weight:700}
input[type=number],select{width:100%;margin-top:8px;padding:13px;border:1px solid #cad6e8;border-radius:14px;font-size:1rem;background:white}
.knowledge li{margin:10px 0;color:var(--muted)}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;margin:auto;max-width:760px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);border-top:1px solid #e2e7f0;padding:12px 8px calc(12px + env(safe-area-inset-bottom));z-index:20;backdrop-filter:blur(12px)}
.bottom-nav a{text-decoration:none;color:#65728d;text-align:center;font-size:1.4rem}.bottom-nav span{display:block;font-size:.78rem;font-weight:700;margin-top:2px}
@media(max-width:520px){
  .card{margin-left:16px;margin-right:16px;padding:22px;border-radius:26px}
  .summary{grid-template-columns:100px 1fr;gap:14px}.score{width:95px;height:95px}.score span{font-size:2.4rem}
  .summary-grid{gap:10px;font-size:.92rem}.hero{padding-left:22px;padding-right:22px}.cups{gap:8px}
}
