:root{--navy:#123452;--sky:#87d7f7;--blue:#3ca9e8;--coral:#ff6b61;--yellow:#ffd45e;--bg:#f4fafd}
*{box-sizing:border-box}
body{margin:0;font:17px/1.65 ui-rounded,"Avenir Next","Segoe UI",system-ui,sans-serif;color:var(--navy);background:var(--bg)}
a{color:#0b6aa8}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(16px,5vw,56px);background:#fff;border-bottom:4px solid var(--sky)}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.6rem;letter-spacing:-.04em;color:var(--navy);text-decoration:none}
.top nav a{margin-left:22px;font-weight:700;text-decoration:none;color:var(--navy)}
.top nav a:hover,.top nav a:focus-visible{color:var(--coral)}
main{max-width:860px;margin:0 auto;padding:32px clamp(16px,5vw,32px) 64px}
h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.03em;margin:.2em 0 .4em}
h2{margin:1.6em 0 .4em;letter-spacing:-.02em}
.hero{text-align:center;padding:16px 0 8px}.hero img{width:min(540px,100%);height:auto}
.hero p{max-width:560px;margin:.6em auto;font-size:1.15rem}
.hubs{display:grid;gap:14px;margin:28px 0;padding:0;list-style:none}
.hubs a{display:block;padding:16px 20px;background:#fff;border-left:10px solid var(--c);border-radius:6px;text-decoration:none;color:inherit}
.hubs a:hover,.hubs a:focus-visible{background:#fff8e2}.hubs strong{display:block;font-size:1.25rem}
.soon{color:#4a6a82}
.ctl{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:end;background:#fff;padding:16px;border-radius:8px;margin:16px 0}
.ctl label{display:flex;flex-direction:column;font-weight:700;font-size:.9rem;gap:4px}
.ctl .chk{flex-direction:row;align-items:center;gap:8px}
select,input[type=number]{font:inherit;padding:8px;border:2px solid var(--sky);border-radius:8px;background:#fff;color:inherit}
button{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}
button:hover{background:#1d4d78}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.sheet{background:#fff;padding:24px;border:1px solid #cfe3ee}
.sheetlogo{display:block;width:240px;height:auto;margin-bottom:12px}
.qs{columns:2;column-gap:48px;padding-left:2.4em}.qs li{margin-bottom:14px;font-size:1.25rem;break-inside:avoid}
.blank{display:inline-block;width:3.5em;border-bottom:2px solid currentColor}
.keybreak{break-before:page;margin-top:32px}
.plan{width:100%;border-collapse:collapse;table-layout:fixed}
.plan th,.plan td{border:1.5px solid var(--navy);padding:6px;vertical-align:top}
.plan th{background:var(--sky)}.plan td{height:84px}.plan th.row{width:92px;background:#fff6d6;text-align:left}
.foot{padding:22px;text-align:center;border-top:4px solid var(--sky);background:#fff;font-size:.9rem}.foot a{margin-right:14px}
.printfoot{display:none}
.bw .sheetlogo,.bw .printfoot img{filter:grayscale(1) contrast(1.5)}
@media(max-width:560px){.qs{columns:1}.top nav a{margin:0 14px 0 0}}
@media print{
 @page{margin:14mm}
 body{background:#fff;font-size:12pt}.noprint,.ctl{display:none!important}
 main{max-width:none;padding:0}.sheet{border:0;padding:0}.sheetlogo{width:6.5cm}
 .printfoot{display:flex;align-items:center;gap:6px;position:fixed;bottom:0;left:0;right:0;justify-content:center;font-size:9pt}
}
/* Moving kite: the header kite sways on every page; the home logo floats gently */
@keyframes sway{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(7deg) translateY(-5px)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.brand img{transform-origin:50% 90%;animation:sway 5s ease-in-out infinite}
@keyframes fly{0%{transform:translate(60vw,-70vh) rotate(25deg) scale(.5);opacity:0}15%{opacity:1}40%{transform:translate(-14vw,-22vh) rotate(-12deg) scale(.85)}70%{transform:translate(6vw,-5vh) rotate(6deg) scale(.97)}100%{transform:none}}
.hero img{animation:fly 2.8s cubic-bezier(.3,.6,.3,1) both,float 6s ease-in-out 2.8s infinite}
.flown .hero img{animation:float 6s ease-in-out infinite}
html{overflow-x:clip}
@media(prefers-reduced-motion:reduce){.brand img,.hero img,.flown .hero img{animation:none}}
@media print{*{animation:none!important}}

.ad{max-width:860px;margin:0 auto 24px;padding:0 clamp(16px,5vw,32px)}
.labels{display:flex;flex-wrap:wrap;gap:4mm}
.lab,.box{border:2px solid var(--navy);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;break-inside:avoid;padding:6px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.lab span{font-weight:800;font-size:1.5rem;line-height:1.1}.lab small{font-size:.75rem;margin-top:4px}
.box{width:9.4cm;height:6.4cm;align-items:stretch;text-align:left}.box b{font-size:2rem;line-height:1}.box i{font-style:normal;font-size:1.3rem;font-weight:800}
.box .ln{border-bottom:1.5px solid var(--navy);height:1.5em}.box small{margin-top:auto;font-size:.8rem}
.check{list-style:none;padding:0}.check li{margin:6px 0}.check input{width:1.1em;height:1.1em;margin-right:8px;vertical-align:-2px}
.plan td.tick{text-align:center;font-size:1.2rem}
textarea{font:inherit;padding:8px;border:2px solid var(--sky);border-radius:8px;width:100%;max-width:300px}input[type=text]{font:inherit;padding:8px;border:2px solid var(--sky);border-radius:8px}
.items{list-style:none;padding:0;display:grid;gap:10px}.items li{background:#fff;padding:12px 16px;border-radius:6px;border-left:6px solid var(--sky)}.items a{font-weight:800;display:block}.items span{color:#4a6a82;font-size:.95rem}
.try{font-weight:800;font-size:1.1rem;background:#fff8e2;padding:12px 16px;border-radius:6px}
.paper{--g:8mm;height:21cm;border:1px solid #bcd;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.lined{background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(var(--g) - .3mm),#6fa8cf calc(var(--g) - .3mm),#6fa8cf var(--g))}
.graph{background-image:linear-gradient(#9cc4e0 .3mm,transparent .3mm),linear-gradient(90deg,#9cc4e0 .3mm,transparent .3mm);background-size:var(--g) var(--g)}
.dots{background-image:radial-gradient(circle,#4d7ea3 .35mm,transparent .4mm);background-size:var(--g) var(--g)}
.plan.big td,.plan.big th{text-align:center;height:1.55cm;font-size:1.1rem}.plan.cal td{height:92px}.plan.cal b{font-size:.9rem}
.clocks{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;justify-items:center}.clocks p{margin:2px 0;text-align:center}
.fld{display:flex;gap:10px;align-items:end;margin:16px 0}.fld b{min-width:11em}.ln{flex:1;display:inline-block;border-bottom:1.5px solid var(--navy);min-height:1.4em}
@media print{.paper{border:0;height:20.5cm}}

.res{display:grid;grid-template-columns:1fr auto;gap:8px 20px;margin:0}.res dt{font-weight:700}.res dd{margin:0;font-size:1.2rem;font-weight:800;text-align:right}
.pw{font-family:ui-monospace,Consolas,monospace;font-size:1.4rem;word-break:break-all;margin:0}.plain{list-style:none;padding:0;margin:0;font-size:1.1rem}.plain li{padding:4px 0;border-bottom:1px solid #e1eef5}
.note{font-size:.9rem;color:#4a6a82}.calc .wide{flex:1 1 100%}.calc textarea{max-width:520px}
