:root{font-family:Arial,Helvetica,sans-serif;color:#172b38;background:#fff;font-synthesis:none;line-height:1.6;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:#0055a3;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,select,input[type=color]{min-height:48px}button{border:2px solid #0055a3;border-radius:4px;background:#0055a3;color:#fff;padding:9px 18px;font-weight:700;cursor:pointer}button:hover{background:#003f7a;border-color:#003f7a}button.secondary{color:#0055a3;background:white}button.secondary:hover{background:#edf4fa}button:disabled,select:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #172b38;outline-offset:3px;box-shadow:0 0 0 6px #ffdc00}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:22px}h2{font-size:1.6rem;line-height:1.3}h3{font-size:1.15rem;margin-bottom:8px}p{margin-bottom:14px}.site-header,main,footer{max-width:1440px;margin:auto;padding-left:40px;padding-right:40px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:88px;border-bottom:1px solid #c2ccd4;gap:20px}.brand{font-weight:800;font-size:1.3rem;letter-spacing:.08em;color:#172b38;text-decoration:none}.brand span{font-weight:400;letter-spacing:0}.header-note,.hint,.map-notice{color:#455969;font-size:.875rem}.intro{padding:56px 0 38px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;color:#375365}.lead{font-size:1.125rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.section-heading h2{margin:0}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid #a5b4bf;border-radius:6px;overflow:hidden}#controls{padding:22px;background:#f5f7f9;border-right:1px solid #a5b4bf}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:1rem;font-weight:700;margin-bottom:20px}label{font-weight:600;display:block}select{width:100%;border:1px solid #617887;border-radius:4px;background:#fff;color:#172b38;padding:8px;max-width:100%}.hint{margin:8px 0 16px}.color-control{display:grid;grid-template-columns:1fr 56px;align-items:center;margin:14px 0;gap:2px 8px}.color-control input{grid-column:2;grid-row:1/3;width:56px;padding:4px;border:1px solid #617887;background:#fff;border-radius:4px;cursor:pointer}.color-control output{font-size:.8rem;font-family:monospace;color:#455969}.toggle{display:flex;align-items:center;gap:10px;min-height:48px;font-size:.9rem;cursor:pointer}.toggle input{width:22px;height:22px;accent-color:#0055a3;flex-shrink:0}.compare-toggle{border:1px solid #617887;padding:0 14px;border-radius:4px}#reset{margin-top:18px;width:100%}.preview-area{min-width:0;padding:20px}.previews{display:grid;grid-template-columns:1fr;gap:20px}.previews.comparing{grid-template-columns:1fr 1fr}figure{margin:0;min-width:0}figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:12px}figcaption span{font-size:.8rem;color:#455969}.map-frame{background:#eef4f7;aspect-ratio:5/3;border:1px solid #a5b4bf}.map-frame svg{display:block;width:100%;height:auto}.map-notice{margin:16px 0 0;font-size:.75rem}.export-panel{margin-top:20px;padding:22px;background:#f5f7f9;border:1px solid #a5b4bf;border-radius:6px}.export-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.export-controls select{width:auto}.export-panel>.hint{margin-bottom:0}#status{min-height:26px;margin:14px 0;color:#214d36}#status.error{color:#a11b19}#code-panel{padding:24px;border:1px solid #617887;border-radius:4px;margin:24px 0}#code-panel select{margin:8px 0 16px;width:auto}textarea{display:block;width:100%;resize:vertical;border:1px solid #617887;border-radius:4px;font-family:monospace;font-size:.8rem;padding:12px;margin:8px 0 16px}#code-panel button{margin:0 8px 10px 0}.explain{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:56px 0;padding:36px 0;border-top:1px solid #c2ccd4;border-bottom:1px solid #c2ccd4}.kit{max-width:760px;margin-bottom:50px}summary{cursor:pointer;color:#0055a3;font-weight:700;min-height:48px;padding:10px 0;text-decoration:underline;text-underline-offset:3px}details p{margin-top:12px}footer{font-size:.8rem;color:#455969;padding-top:30px;padding-bottom:30px;border-top:1px solid #c2ccd4}.skip-link{position:fixed;top:-100px;left:12px;background:#fff;padding:12px;z-index:10}.skip-link:focus{top:10px}.noscript{padding:24px;border:2px solid #a11b19}[hidden]{display:none!important}
@media(max-width:1000px){.previews.comparing{grid-template-columns:1fr}.workspace{grid-template-columns:230px minmax(0,1fr)}.section-heading{align-items:flex-start}}
@media(max-width:680px){.site-header,main,footer{padding-left:20px;padding-right:20px}.site-header{min-height:72px}.header-note{font-size:.7rem}.intro{padding:36px 0 24px}.section-heading{display:block}.compare-toggle{margin-top:16px;width:fit-content}.workspace{grid-template-columns:1fr}#controls{border-right:0;border-bottom:1px solid #a5b4bf;padding:20px}.preview-area{padding:16px}.export-controls{display:grid;grid-template-columns:1fr}.export-controls select{width:100%}.export-panel{padding:18px}.explain{grid-template-columns:1fr;gap:20px;margin:36px 0;padding:28px 0}.brand{font-size:1.1rem}.lead br{display:none}#code-panel{padding:16px}}
#analytics-choice{max-width:1360px;margin:24px auto;padding:24px}#analytics-choice button{margin:4px 8px 4px 0}
@media(forced-colors:active){button,.map-frame,.compare-toggle{border:2px solid ButtonText}:focus-visible{outline:3px solid Highlight}}
