:root{--bg:#eaf4ff;--ink:#0b2545;--mut:#3f6a95;--blue:#2472e8;--cyan:#33b9f0;--line:rgba(14,64,116,.14);--card:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#d7ecff 0%,#e9f5ff 45%,#d3e8ff 100%);color:var(--ink);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{width:min(1080px,100% - 36px);margin-inline:auto}
.glow{position:fixed;width:520px;height:520px;border-radius:50%;filter:blur(120px);opacity:.5;pointer-events:none;z-index:0}
.g1{background:#5cb8ff;top:-180px;left:-140px}.g2{background:#86d0ff;bottom:-200px;right:-160px}
.top{position:sticky;top:0;z-index:5;backdrop-filter:blur(14px);background:rgba(226,241,255,.86);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{font-weight:600;letter-spacing:.01em;color:var(--ink)}.logo b{font-weight:800;color:#1f6fd0}
.pill{border:1px solid var(--line);border-radius:999px;padding:11px 18px;display:inline-flex;align-items:center;min-height:44px;color:#1f6fd0;text-decoration:none;font-size:15px;background:#fff}
main{position:relative;z-index:1}
.hero{margin:26px 0 10px;position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(160deg,#e3f0ff,#f7fbff);box-shadow:0 20px 50px rgba(47,124,224,.10)}
.hero-img{width:100%;height:230px;object-fit:cover;opacity:.75;display:block}
.hero-body{padding:22px clamp(18px,5vw,34px) 28px;background:linear-gradient(180deg,rgba(247,251,255,.72),rgba(255,255,255,.95))}
.chip{display:inline-block;font-size:14px;padding:6px 13px;border-radius:999px;background:linear-gradient(90deg,rgba(47,124,224,.14),rgba(51,185,240,.16));border:1px solid var(--line);color:#1c62b8}
h1{margin:16px 0 10px;font-size:clamp(32px,7vw,54px);line-height:1.08;letter-spacing:-.02em;color:#0b2545}
.hero-body p{margin:0 0 18px;color:var(--mut);max-width:44ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;padding:14px 24px;min-height:48px;display:inline-flex;align-items:center;border-radius:999px;text-decoration:none;font-weight:600;border:1px solid transparent;color:#fff;background:linear-gradient(120deg,var(--blue),var(--cyan));box-shadow:0 10px 26px rgba(47,124,224,.28)}
.btn.ghost{background:#fff;border-color:var(--line);color:#1f6fd0;box-shadow:none}
.note{margin:16px 0 0!important;font-size:14px;opacity:.9}
.intro{margin:44px 0 8px}
.intro h2,.finish h2{margin:0 0 16px;font-size:clamp(24px,5vw,34px);letter-spacing:-.01em}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0}
.facts li{display:flex;align-items:baseline;gap:9px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 16px;color:var(--mut);font-size:15px}
.facts span{font-size:26px;font-weight:800;color:#1f8fd6;line-height:1}
.day{scroll-margin-top:80px;margin:54px 0 0}
.day-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.daynum{font-weight:800;font-size:15px;color:#fff;background:linear-gradient(120deg,var(--blue),var(--cyan));border-radius:12px;padding:9px 12px;letter-spacing:.04em}
.day-head h2{margin:0;flex:1 1 auto;font-size:clamp(24px,5vw,34px);letter-spacing:-.01em}
.daybar{flex:0 0 96px;height:7px;border-radius:99px;background:rgba(14,64,116,.12);overflow:hidden}
.daybar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .3s}
.blocks{display:grid;gap:16px;grid-template-columns:1fr}
.block{border:1px solid var(--line);border-radius:22px;padding:20px;background:var(--card);box-shadow:0 14px 34px rgba(47,124,224,.08)}
.block::before{content:"";display:block;width:44px;height:4px;border-radius:99px;margin-bottom:14px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.glute::before{background:linear-gradient(90deg,#8b7bff,#b9b0ff)}
.back::before{background:linear-gradient(90deg,#2fb6ff,#9fe6ff)}
.core::before{background:linear-gradient(90deg,#3fce9a,#a9efd3)}
.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.block-head h3{margin:0;font-size:22px}
.tag{font-size:13px;color:var(--mut);white-space:nowrap}
.ex{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ex+.ex{margin-top:10px}
.ex label{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px;border-radius:14px;background:#f2f8ff;border:1px solid rgba(14,64,116,.07);cursor:pointer;transition:.18s}
.ex label:hover{background:#e6f2ff}
.ex input{position:absolute;opacity:0;width:0;height:0}
.box{flex:0 0 24px;height:24px;border-radius:8px;border:2px solid rgba(31,111,208,.45);background:#fff;display:grid;place-items:center;transition:.18s}
.box::after{content:"";width:11px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) scale(.4);opacity:0;transition:.18s;margin-top:-3px}
.ex input:checked+.box{background:linear-gradient(120deg,var(--blue),var(--cyan));border-color:transparent}
.ex input:checked+.box::after{opacity:1;transform:rotate(-45deg) scale(1)}
.ex input:checked~.txt{color:var(--mut);text-decoration:line-through}
.ex input:focus-visible+.box{box-shadow:0 0 0 4px rgba(47,124,224,.28)}
.txt{font-weight:500}
.add{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.add input{flex:1 1 180px;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:#f2f8ff;color:var(--ink);font-size:16px}
.add input::placeholder{color:#7e9bbd}
.add input:focus{outline:2px solid rgba(47,124,224,.5);outline-offset:1px}
.add button{min-height:46px;padding:0 18px;border-radius:14px;border:1px solid rgba(47,124,224,.3);background:rgba(47,124,224,.1);color:#1c62b8;font-size:16px;font-weight:600;cursor:pointer}
.del{margin-left:auto;background:none;border:0;color:#7e9bbd;font-size:22px;line-height:1;padding:0 4px;cursor:pointer}
.gallery{margin:58px 0 0}
.gallery h2{margin:0 0 8px;font-size:clamp(24px,5vw,34px);letter-spacing:-.01em}
.gsub{margin:0 0 18px;color:var(--mut);max-width:46ch}
.shots{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
.shot{margin:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card);box-shadow:0 14px 34px rgba(47,124,224,.08)}
.shot img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.shot figcaption{padding:13px 15px;font-size:14px;color:var(--mut)}
.finish{margin:60px 0 30px;text-align:center;padding:34px 20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,rgba(47,124,224,.10),rgba(51,185,240,.08))}
.finish p{color:var(--mut);margin:0 0 18px}
.bar{position:fixed;left:0;right:0;bottom:0;height:4px;background:rgba(14,64,116,.10);z-index:6}
.bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .3s}
.foot{padding:26px 0 40px;color:#7e9bbd;font-size:14px;text-align:center;position:relative;z-index:1}
@media(min-width:760px){.blocks{grid-template-columns:1fr 1fr}.hero-img{height:300px}}
@media(max-width:420px){.facts li{flex:1 1 100%}}
@media(max-width:520px){.shots{grid-template-columns:1fr}}
.btn.sm{padding:11px 22px;min-height:44px;font-size:16px}
