@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{color-scheme:dark;font-family:Manrope,system-ui,sans-serif;color:#e8e9e2;background:#111513;font-synthesis:none;--ink: #e8e9e2;--muted: #929990;--dim: #626a63;--panel: #141917;--line: rgba(232, 233, 226, .12);--accent: #d4a85e;--accent-dark: #3d3322}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{overflow:hidden}button,input,select{font:inherit}button,select,input{color:inherit}#app{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,29vw,440px);background:#111513}.stage{position:relative;min-width:0;overflow:hidden;background:#89938a}#viewport,#viewport canvas{width:100%;height:100%;min-height:100dvh;display:block}#viewport canvas{cursor:grab;outline:none}#viewport canvas:active{cursor:grabbing}#viewport canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.stage:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px #0d120f3d;background:linear-gradient(180deg,rgba(13,18,15,.1),transparent 26%,transparent 72%,rgba(13,18,15,.2))}.brand{position:absolute;z-index:2;top:clamp(22px,3vw,42px);left:clamp(22px,3vw,46px);color:#f9f7eaf0;text-shadow:0 2px 20px rgba(13,18,15,.25)}.brand__eyebrow,.panel__header>p,footer,.viewport-hint,.status{font-family:DM Mono,ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}.brand__eyebrow{display:block;margin-bottom:11px;font-size:.67rem}.brand strong{display:block;font-size:clamp(1.45rem,2.5vw,2.75rem);line-height:.92;letter-spacing:-.06em}.viewport-hint{position:absolute;z-index:2;left:clamp(22px,3vw,46px);bottom:28px;font-size:.61rem;color:#f9f7eac7}.status{position:absolute;z-index:3;top:22px;right:22px;min-height:1em;font-size:.6rem;color:#f9f7ead9}.webgl-failure{position:absolute;z-index:5;inset:50% auto auto 50%;width:min(420px,calc(100% - 40px));padding:26px;transform:translate(-50%,-50%);background:#151a17;border:1px solid var(--line);box-shadow:0 18px 70px #0006}.webgl-failure strong,.webgl-failure span{display:block}.webgl-failure strong{margin-bottom:8px;color:#f0c168}.webgl-failure span{color:var(--muted);line-height:1.55}.panel{position:relative;z-index:4;height:100dvh;overflow-y:auto;padding:clamp(28px,4vw,54px) clamp(24px,3.1vw,46px) 26px;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),var(--panel);background-size:30px 30px;border-left:1px solid rgba(255,255,255,.08)}.panel__header{padding-bottom:28px;border-bottom:1px solid var(--line)}.panel__header>p{margin:0 0 18px;color:var(--accent);font-size:.64rem}.panel h1{margin:0;max-width:11ch;font-size:clamp(2rem,3.1vw,3.25rem);line-height:.98;letter-spacing:-.055em;font-weight:600}.lede{margin:20px 0 0;max-width:38ch;color:var(--muted);font-size:.84rem;line-height:1.65}.controls{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding:28px 0;border-bottom:1px solid var(--line)}.field{display:grid;gap:9px;min-width:0}.field--wide{grid-column:1 / -1}.field>span:first-child,.readout h2,summary{font-family:DM Mono,ui-monospace,monospace;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field output{float:right;color:var(--ink)}.seed-row,.button-row{display:flex;gap:8px}.seed-row input{flex:1 1 auto;min-width:0}input[type=text],input:not([type]),select,#seed{width:100%;height:42px;padding:0 12px;background:#ffffff09;border:1px solid var(--line);border-radius:2px;outline:none}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px;background-size:5px 5px;background-repeat:no-repeat}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.toggles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toggles label{display:flex;align-items:center;gap:8px;color:#bbc0b8;font-size:.73rem;cursor:pointer}.toggles input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.button{min-height:41px;padding:0 15px;border:1px solid var(--line);border-radius:2px;background:#ffffff09;color:#d7d9d2;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.button:hover{background:#ffffff13;border-color:#ffffff40}.button:active{transform:translateY(1px)}.button--primary{min-height:47px;background:var(--accent);border-color:var(--accent);color:#1d1a13}.button--primary:hover{background:#e0b66e;border-color:#e0b66e}.button--square{flex:0 0 42px;padding:0;font-size:1rem}.button-row .button{flex:1}.readout{padding:26px 0 20px}.readout__heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.readout h2{margin:0;color:var(--ink)}#seed-badge{font-family:DM Mono,monospace;font-size:.64rem;color:var(--accent)}.metrics,.rejections{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;margin:0}.metrics dt,.rejections dt{color:var(--dim);font-size:.7rem;text-transform:capitalize}.metrics dd,.rejections dd{margin:0;text-align:right;color:#cfd2ca;font-family:DM Mono,monospace;font-size:.67rem}details{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}summary{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.rejections{margin-top:14px}footer{margin-top:auto;padding-top:18px;color:#58605a;font-size:.52rem;line-height:1.7}@media(max-width:820px){body{overflow:auto}#app{display:block}.stage,#viewport,#viewport canvas{height:58dvh;min-height:430px}.panel{height:auto;min-height:42dvh;overflow:visible;border-left:0;border-top:1px solid var(--line)}.brand strong{font-size:1.8rem}.viewport-hint{bottom:18px}}@media(max-width:470px){.stage,#viewport,#viewport canvas{height:52dvh;min-height:360px}.panel{padding:28px 20px 24px}.controls{grid-template-columns:1fr}.field--wide{grid-column:1}.toggles{grid-template-columns:1fr}.button-row{flex-direction:column}.brand{top:20px;left:20px}.viewport-hint{left:20px;font-size:.54rem}.status{top:auto;bottom:40px;right:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
