:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e9e5d8;background:#09131c;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{min-height:100dvh;width:100%;padding:28px clamp(16px,4vw,64px)}header,.toolbar,.intro{display:flex;justify-content:space-between;gap:20px;align-items:center}header{font-size:11px;letter-spacing:.16em;border-bottom:1px solid #28404a;padding-bottom:24px}.brand{font-weight:800;font-size:15px;color:#a0ded1}.intro{padding:40px 0}h1{font-size:clamp(40px,5.5vw,82px);line-height:.98;letter-spacing:-.06em;margin:12px 0 22px;font-weight:600}h1 em{font-family:Georgia,serif;font-weight:400;color:#ffb966}p{line-height:1.65;color:#b0c1c7}.eyebrow{font-size:10px;letter-spacing:.18em;color:#7cc9bd}.gate{border:1px solid #3e635f;border-radius:24px;padding:24px;display:grid;gap:8px;min-width:240px}.gate strong{font:48px Georgia,serif;color:#a5eadb}.gate span{font-size:13px}.gate small{font-size:11px}main{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.stage{position:sticky;top:16px;min-width:0}.toolbar h2{font-size:17px}.art{background:radial-gradient(ellipse at 50% 40%,#1e3541,#08121a);border:1px solid #28404a;border-radius:24px;padding:20px;overflow:hidden}.art svg{display:block;width:100%;max-height:65vh;aspect-ratio:1;animation:arrive .5s ease-out}.caption{font-size:12px}.panel{padding:24px;border:1px solid #28404a;border-radius:20px;background:#10212b;margin-bottom:16px}button,input,textarea{font:inherit}button{border:1px solid #3d5862;background:#1c343e;color:#e9e5d8;border-radius:7px;padding:9px 12px;cursor:pointer;font-size:12px}button:hover{border-color:#ffb966}button[aria-pressed=true],button.selected{border-color:#ffb966;box-shadow:inset 0 0 0 1px #ffb966}.primary{background:#a5eadb;color:#10212b;border:none;margin-top:10px;font-weight:700}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ffb966;outline-offset:3px}label{display:block;font-size:12px;color:#cbd4cf;margin:12px 0}input,textarea{display:block;width:100%;background:#091923;color:#e8ebdf;border:1px solid #45616a;border-radius:6px;padding:9px;margin-top:6px}input[type=color]{height:42px;padding:4px}.numeric div{display:flex;gap:6px}.numeric input{min-width:0;margin:0}.numeric span{display:block;margin-bottom:6px}.examples{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}small{display:block;color:#8faab1;font-size:11px;line-height:1.6}.source,.tiles{display:grid;gap:2px;margin:16px 0}.source button{padding:0;aspect-ratio:1;border:0;border-radius:0;min-width:0}.source .selected{outline:2px solid white;z-index:1}.tiles button{padding:5px 0;min-width:0;font-size:10px}.proof{font:12px ui-monospace,monospace;line-height:1.8;padding:12px;background:#091923;border-radius:8px}.notice{border-left:3px solid #a5eadb;padding-left:14px;color:#c2e8df;font-size:13px}.warning{color:#ffb966;font-size:13px}details{font-size:13px;margin:18px 0}summary{cursor:pointer;font-weight:700;color:#d4dfd7}textarea{height:100px;resize:vertical}footer{border-top:1px solid #28404a;margin-top:40px;padding-top:20px;font-size:11px;max-width:100%}footer p{max-width:900px}footer span{margin-left:12px}footer button{margin-right:6px}@keyframes arrive{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:950px){main{grid-template-columns:1fr}.stage{position:static}.intro{align-items:flex-start}.gate{min-width:180px;padding:16px}.gate strong{font-size:36px}.art svg{max-height:70vh}aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{margin:0}}@media(max-width:620px){.intro{display:block}.gate{margin-top:24px}.toolbar{flex-wrap:wrap}aside{display:block}.panel{margin-bottom:16px}header span:last-child{display:none}}@media print{header,.intro,aside,footer,.toolbar,details,.notice,.warning{display:none}.shell{padding:0}.stage{position:static}main{display:block}.art{padding:0;border:0}.art svg{max-height:none}}
