*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#213953;background:#fcfcff;font-family:Inter,'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}header,footer{max-width:1240px;margin:auto;padding:26px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;letter-spacing:-.6px}.brand span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#ff3866;color:#fff;box-shadow:0 5px 14px #ff38661b}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a:hover,.text-link:hover{color:#ea345f}.nav-button{border:1px solid #e1e5ed;border-radius:10px;padding:10px 16px}main{max-width:1240px;margin:auto;padding:0 34px}.hero{min-height:610px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:28px;padding:68px 0 90px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#dd426d;margin:0 0 22px}h1{font-size:60px;line-height:1.35;letter-spacing:-2px;margin:0 0 26px}em{font-style:normal;color:#f03866}.lead{font-size:15px;line-height:2.1;color:#78849a}.actions{display:flex;align-items:center;gap:24px;margin:30px 0 18px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:#f53665;border-radius:12px;color:white;padding:17px 24px;font-size:14px;font-weight:700;box-shadow:0 10px 24px #f5366520}.primary:hover{background:#db2855}.footnote,.text-link{font-size:11px;color:#8993a6}.art{position:relative;border-radius:40px;background:radial-gradient(ellipse at 60% 40%,#eeeafc,transparent 70%),#f8f4fa;min-height:410px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 70px #a7a6c31a;padding:28px 10px}.art img{max-width:100%;height:auto}.art-label{text-align:center;font-size:12px;color:#8f7495;margin:18px 0}.art-caption{display:flex;justify-content:center;align-items:center;gap:18px;font-size:9px;font-weight:700;letter-spacing:1px;color:#a392ab}.art-caption i{width:34px;height:1px;background:#cfc3d6}.section-title{text-align:center;padding:30px 0}.section-title h2,h2{font-size:30px;letter-spacing:-1px;line-height:1.6;margin:0 0 14px}.section-title p:not(.eyebrow),.getting-started p,.download p{font-size:13px;color:#7b889d;line-height:1.9}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:8px 0 100px}.features article{border:1px solid #e7ebf2;border-radius:20px;background:white;padding:30px}.features h3{font-size:17px;margin:20px 0 12px}.features p{font-size:13px;line-height:1.9;color:#8090a4}.icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;font-size:23px;background:#fff0f4;color:#e04c76}.violet{background:#f1ecfc;color:#9a7cd7}.teal{background:#eaf7f6;color:#479b99}.getting-started{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:60px;background:#f4f6fb;border-radius:28px}.getting-started ol{list-style:none;margin:0;padding:0;display:grid;gap:26px}.getting-started li{display:flex;gap:22px}.getting-started li>span{font-size:14px;font-weight:700;color:#bf93a4;border:1px solid #dfd7e0;border-radius:12px;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}.getting-started h3{font-size:15px;margin:0 0 5px}.getting-started li p{margin:0}.download{padding:100px 0 90px;text-align:center}.download details{max-width:680px;margin:26px auto 0;text-align:left;font-size:13px;line-height:2;color:#62768c}.download summary{cursor:pointer;text-align:center;color:#dc3c65}.download code{background:#f0f2f6;padding:2px 5px;border-radius:4px}footer{border-top:1px solid #e8edf4;font-size:11px;color:#8995a8}footer .brand{font-size:15px}footer .brand span{width:30px;height:30px;border-radius:10px}a:focus-visible,summary:focus-visible{outline:3px solid #176f82;outline-offset:5px}@media(max-width:950px){h1{font-size:45px}.hero{gap:20px;min-height:530px}.art{min-height:330px}.getting-started{padding:34px;gap:30px}}@media(max-width:650px){header,footer{padding:20px}.brand{font-size:17px}nav{gap:12px}nav .nav-secondary{display:none}main{padding:0 22px}.hero{grid-template-columns:1fr;padding:38px 0 50px;gap:35px}h1{font-size:45px}.art{min-height:290px}.features{grid-template-columns:1fr;padding-bottom:50px;gap:14px}.features article{padding:24px}.section-title h2,h2{font-size:23px}.getting-started{grid-template-columns:1fr;padding:28px;gap:28px}.download{padding:70px 0}.primary{padding:15px 18px;gap:16px;font-size:12px}.actions{gap:16px}footer{flex-wrap:wrap}footer p{order:3;width:100%}}
/* The public handbook is separate from the functional extension package. */
.guide-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:45px 0 0;padding:38px 42px;border:1px solid #d3e5e9;border-radius:22px;background:#edf7f7}.guide-callout .eyebrow{color:#287c86;margin-bottom:12px}.guide-callout h2{font-size:24px;margin-bottom:10px}.guide-callout p:not(.eyebrow){font-size:13px;color:#62808d;line-height:1.95;margin:0}.guide-callout-actions{display:flex;flex-direction:column;align-items:center;gap:16px;flex-shrink:0}.guide-callout-actions .primary{background:#167683;font-size:12px;box-shadow:0 8px 18px #16768317}.guide-callout-actions .text-link{color:#367c87}@media(max-width:750px){.guide-callout{flex-direction:column;align-items:start;padding:28px;gap:23px}.guide-callout-actions{align-items:start}}@media(max-width:650px){nav .nav-secondary{display:none}.guide-callout h2{font-size:21px}}
/* Account entry points stay visible at every screen size. */
[hidden]{display:none!important}nav{gap:22px}nav a{white-space:nowrap}.nav-signup{color:#e83362;font-weight:700}.secondary-link{display:inline-flex;border:1px solid #dce2ec;border-radius:12px;padding:16px 22px;font-size:14px;font-weight:600;color:#425976;background:white}.secondary-link:hover{border-color:#aebdce}.auth-hint{font-size:13px;line-height:1.8;color:#78849a}.auth-hint a{color:#d93461;font-weight:600}.optional{font-size:11px;color:#8993a6;font-weight:400}.brand{flex-shrink:0}@media(max-width:900px){header{flex-wrap:wrap}header nav{gap:18px}}@media(max-width:650px){header{gap:18px}header nav{width:100%;justify-content:space-between;gap:8px;font-size:12px}header .nav-button{padding:9px 11px}.secondary-link{font-size:12px;padding:14px 16px}.hero .actions{flex-wrap:wrap}.auth-hint{font-size:12px}}
