:root{--navy:#14315e;--blue:#2d62ab;--sky:#a9c4e3;--bone:#f1eee6;--ground:#f7f5f0;--card:#ffffff;--ink:#14315e;--body:#3d4a5f;--muted:#6b7791;--line:#dcd8cf}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--body);font-family:Jost,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.wrap{max-width:1080px;margin:0 auto;padding:40px 24px 80px}header{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}h1{margin:0;font-size:28px;color:var(--ink);letter-spacing:-.015em}.crumb,h1{font-weight:600}.crumb{font-size:13px;letter-spacing:.09em;text-transform:uppercase}.crumb,.sub{color:var(--muted)}.sub{margin:0 0 30px;max-width:62ch}.layout{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.panel{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:20px}fieldset{border:0;padding:0;margin:0 0 22px}fieldset:last-of-type{margin-bottom:0}legend{padding:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.opts{display:flex;flex-wrap:wrap;gap:6px}.opt{font:inherit;font-size:14px;cursor:pointer;padding:7px 12px;border-radius:3px;border:1px solid var(--line);background:transparent;color:var(--ink)}.opt:hover:not(:disabled){border-color:var(--blue)}.opt[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--bone)}.opt:disabled{opacity:.35;cursor:not-allowed}.opt:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.swatch{display:inline-block;width:11px;height:11px;border-radius:2px;border:1px solid rgba(20,49,94,.25);margin-right:7px;vertical-align:-1px}.checker{background-image:linear-gradient(45deg,#a9a9a9 25%,transparent 0),linear-gradient(-45deg,#a9a9a9 25%,transparent 0),linear-gradient(45deg,transparent 75%,#a9a9a9 0),linear-gradient(-45deg,transparent 75%,#a9a9a9 0);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0;background-color:#c4c4c4}input[type=number]{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:3px;background:var(--card);color:var(--ink)}input[type=number]:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.stage{min-height:380px;display:grid;place-items:center;border-radius:3px;padding:36px;overflow:auto}.stage img{max-width:100%;height:auto;display:block}.meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meta b{color:var(--ink);font-weight:600}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn{font:inherit;font-size:15px;font-weight:500;cursor:pointer;padding:10px 18px;border-radius:3px;border:1px solid var(--navy);background:var(--navy);color:var(--bone);text-decoration:none;display:inline-block}.btn:hover{background:var(--blue);border-color:var(--blue)}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:transparent;color:var(--blue)}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.note{margin-top:26px;font-size:14px;color:var(--muted);border-left:2px solid var(--sky);padding-left:13px;max-width:70ch}@media (max-width:800px){.layout{grid-template-columns:minmax(0,1fr)}.stage{min-height:260px;padding:20px}}.topbar{background:var(--navy);color:var(--bone)}.topbar__inner{max-width:1080px;margin:0 auto;padding:0 24px;height:58px;justify-content:space-between;gap:20px}.brand,.topbar__inner{display:flex;align-items:center}.brand{gap:11px;color:var(--bone);text-decoration:none;font-size:15px;white-space:nowrap}.brand svg{width:24px;height:24px;flex:none}.brand b{font-weight:600}.topbar__nav{display:flex;gap:4px}.topbar__nav a{color:var(--sky);text-decoration:none;font-size:15px;padding:6px 12px;border-radius:3px}.topbar__nav a:hover{color:var(--bone);background:rgba(255,255,255,.08)}.topbar a:focus-visible{outline:2px solid var(--sky);outline-offset:2px}.tools{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.tool{display:flex}.tool__link{display:block;width:100%;padding:20px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:4px;text-decoration:none;color:inherit}a.tool__link:hover{border-left-color:var(--navy);box-shadow:0 2px 6px rgba(20,49,94,.09)}a.tool__link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.tool--planned .tool__link{background:transparent;border-left-color:var(--line)}.tool h2{margin:10px 0 6px;font-size:18px;font-weight:600;color:var(--ink)}.tool p{margin:0;font-size:14.5px;color:var(--body)}.tool .needs{margin-top:9px;font-size:13px;color:var(--muted)}.pill{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:2px 7px;border-radius:2px;border:1px solid}.pill--live{color:#2f6b4f}.pill--planned{color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login__card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:32px;display:flex;flex-direction:column}.login__mark{width:44px;height:44px;margin-bottom:14px}.login__card h1{font-size:21px;margin:0}.login__sub{margin:4px 0 22px;color:var(--muted);font-size:14.5px}.login__error{margin:0 0 18px;padding:10px 12px;border-radius:3px;border-left:3px solid #b22234;background:rgba(178,34,52,.06);color:#8d1b29;font-size:14px}.login__card label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.login__card input{font:inherit;padding:10px 12px;margin-bottom:18px;border:1px solid var(--line);border-radius:3px;background:var(--card);color:var(--ink)}.login__card input:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.login__card .btn{margin-top:4px;text-align:center}.signout{font:inherit;font-size:15px;cursor:pointer;background:none;border:0;color:var(--sky);padding:6px 12px;border-radius:3px}.signout:hover{color:var(--bone);background:rgba(255,255,255,.08)}.signout:focus-visible{outline:2px solid var(--sky);outline-offset:2px}