/*! Divine Machines — © 2026 ffforum (ffforum.site). All rights reserved.
    Unauthorized copying, reproduction, or redistribution of this code or its
    assets, in whole or in part, is prohibited without permission. */@font-face{font-family:ABCAreal;src:url(ABCAreal-Regular.ttf);font-weight:400}:root{color-scheme:light;--ink: #050505;--bg: #e9e7dd;--surface: #e9e7dd;--line: #050505;--text: #050505;--text-muted: #050505;--edge-gap: max(20px, env(safe-area-inset-top), env(safe-area-inset-right), env(safe-area-inset-bottom), env(safe-area-inset-left));--thumb-bg: #dcdbd2;--dim: .22;--fs: 11px;--knob: 10px;--kern: 0em;--ui-stroke-scale: 1;--ui-sw: calc(1px * var(--ui-stroke-scale))}*{box-sizing:border-box}::selection{background:var(--thumb-bg);color:var(--ink)}html,body{margin:0;padding:0;height:100%;overflow:hidden;font-family:ABCAreal,Arial,sans-serif}body{background:var(--bg);color:var(--text);font-size:var(--fs)}#stage{position:relative;width:100%;height:100vh;height:100dvh}#stage.view-grid #back-btn,#stage.view-grid #sign-id,#stage.view-grid #iso-btn,#stage.view-grid #iterate-btn,#stage.view-grid #canvas-holder,#stage.view-grid #layer-bar,#stage.view-single #project-name,#stage.view-single #zoom-group,#stage.view-single #scroll-cluster,#stage.view-single #seed-group,#stage.view-single #grid{display:none}:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.text-btn{position:fixed;z-index:20;padding:2px 4px;background:none;border:none;font:inherit;color:var(--text);cursor:crosshair;letter-spacing:var(--kern);text-decoration:none;transition:color .12s ease}.text-btn:hover,.iso-btn,.iterate-btn,.scroll-btn{color:var(--text-muted)}.text-btn.is-active{color:var(--ink)}.project-name{position:fixed;top:var(--edge-gap);left:var(--edge-gap);z-index:30;letter-spacing:var(--kern);cursor:crosshair;user-select:none}.project-name:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.info-panel{position:fixed;top:0;bottom:0;left:var(--edge-gap);width:calc(50vw - var(--edge-gap));z-index:25;color:var(--text);text-align:left;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .35s cubic-bezier(.25,.46,.45,.94)}#stage.info-open .info-panel{opacity:1}.info-panel p{position:absolute;left:0;right:0;max-width:420px;margin:0;transform:translateY(-50%);text-wrap:pretty;pointer-events:none}#stage.info-open .info-panel p,#stage.info-open .info-panel a{pointer-events:auto}.info-panel a{color:inherit;text-decoration:none}#stage.view-single .info-panel{display:none}#grid,.seed-group,.zoom-group,.scroll-cluster,.export-group{transition:filter .35s cubic-bezier(.25,.46,.45,.94)}#stage.info-open #grid,#stage.info-open .seed-group,#stage.info-open .zoom-group,#stage.info-open .scroll-cluster,#stage.info-open .export-group{filter:blur(10px);pointer-events:none}#stage:before{content:"";position:fixed;inset:0;background:var(--bg);opacity:0;pointer-events:none;z-index:24;transition:opacity .35s cubic-bezier(.25,.46,.45,.94)}#stage.info-open:before{opacity:.55}.back-btn{top:var(--edge-gap);left:var(--edge-gap)}.about-btn{top:var(--edge-gap);right:var(--edge-gap)}.sign-id{position:fixed;top:var(--edge-gap);left:50%;transform:translate(-50%);z-index:20;color:var(--text-muted);letter-spacing:var(--kern)}.iso-btn{bottom:var(--edge-gap);left:var(--edge-gap)}.iterate-btn{bottom:148px;left:50%;transform:translate(-50%)}.seed-group{position:fixed;left:var(--edge-gap);bottom:var(--edge-gap);z-index:20;display:flex;flex-direction:row;align-items:center;gap:8px}.seed-group .text-btn{position:static}.seed-label{display:inline-flex;align-items:center}.knob{display:inline-block;width:var(--knob);height:var(--knob);margin-left:5px;border:1px solid var(--ink);border-radius:50%;background:transparent;vertical-align:middle}.seed-field{position:relative;padding:0 5px;border-bottom:var(--ui-sw) solid var(--text-muted)}.seed-input{width:4ch;padding:0;font:inherit;color:var(--text-muted);text-align:center;background:none;border:none}.seed-input:focus{outline:none}.seed-tick{position:absolute;bottom:0;width:var(--ui-sw);height:var(--knob);background:var(--text-muted)}.seed-tick-l{left:0}.seed-tick-r{right:0}.export-group{position:fixed;right:var(--edge-gap);bottom:var(--edge-gap);z-index:30}.export-group .text-btn{position:static}.export-menu{position:absolute;bottom:100%;right:0;left:auto;margin-bottom:6px;width:max-content;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.export-menu[hidden]{display:none}.export-item{position:static;color:var(--text-muted);white-space:nowrap;text-align:right}.export-item:hover{color:var(--ink)}.slider-group{position:fixed;z-index:20;display:flex;flex-direction:column;gap:4px}.zoom-group{bottom:var(--edge-gap);left:50%;transform:translate(-50%) translateY(-1px);align-items:center}.slider-label{color:var(--ink);letter-spacing:var(--kern)}.slider{position:relative;width:clamp(88px,12vw,180px);height:12px;cursor:crosshair;touch-action:none}.slider:focus{outline:none}.slider-track{position:absolute;left:0;right:0;bottom:0;height:1px;background-color:var(--ink)}.slider-ticks{position:absolute;left:0;right:0;bottom:0;height:var(--knob)}.slider-tick{position:absolute;bottom:0;width:var(--knob);height:5px;transform:translate(-50%);background:linear-gradient(var(--ink),var(--ink)) no-repeat center bottom / var(--ui-sw) 100%}.slider-thumb{position:absolute;bottom:0;left:0;width:var(--knob);height:var(--knob);border:var(--ui-sw) solid var(--ink);border-radius:50%;background:var(--ink);transform:translate(-49%) translateY(-2%);pointer-events:none}.slider:active .slider-thumb,.slider:focus-visible .slider-thumb{background:var(--ink)}.sliders-ticks-only .slider-track{display:none}.sliders-ticks-only .slider-tick{height:var(--knob);bottom:auto;top:50%;transform:translate(-50%,-50%);background-position:center center}.slider-thumb .thumb-tri{display:none}.shapes-misc .slider-thumb{width:calc(var(--knob) * 1.1547);height:var(--knob);border:none;border-radius:0;background:none}.shapes-misc .slider-thumb .thumb-tri{display:block;width:100%;height:100%;overflow:visible;fill:var(--ink);stroke:var(--ink);stroke-linejoin:round}.shapes-misc .slider-thumb .thumb-tri path{stroke-width:calc(.85px * var(--ui-stroke-scale))}.shapes-misc .slider:hover .slider-thumb,.shapes-misc .slider:active .slider-thumb,.shapes-misc .slider:focus-visible .slider-thumb{background:none}.shapes-misc .slider:hover .slider-thumb .thumb-tri,.shapes-misc .slider:active .slider-thumb .thumb-tri,.shapes-misc .slider:focus-visible .slider-thumb .thumb-tri{fill:var(--ink)}.shapes-misc .knob{border:none;border-radius:0;background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1 L11 6 L6 11 L1 6 Z' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E")}.shapes-misc .seed-label:hover .knob{background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 1 L11 6 L6 11 L1 6 Z' fill='%23000' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E")}.scroll-cluster{position:fixed;top:var(--edge-gap);left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:4px}.scroll-cluster .text-btn{position:static}.scroll-indicator{cursor:crosshair;transform:scaleY(-1)}.grid{position:absolute;inset:60px 0;display:grid;grid-auto-flow:column;align-content:center;justify-content:safe center;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}.grid::-webkit-scrollbar{display:none}.grid.is-autoscroll{scroll-snap-type:none}.grid-cell{position:relative;scroll-snap-align:start;cursor:crosshair;border:1px solid transparent;background-color:transparent;transition:background-color .12s ease}.grid-cell:hover,.grid-cell:focus-visible{background-color:var(--ink);outline:none}.grid-cell:hover .symbol-svg,.grid-cell:focus-visible .symbol-svg{filter:invert(1)}.grid-cell .symbol-svg{display:block;width:100%;height:100%;transition:filter .12s ease;pointer-events:none}.grid-cell .symbol-svg,#canvas-holder>svg{isolation:isolate}.grid-cell .symbol-svg>.symbol-layer,#canvas-holder>svg>.tile>.content{mix-blend-mode:darken}.canvas-holder{position:absolute;top:56px;left:50%;transform:translate(-50%);line-height:0;cursor:crosshair}.canvas-holder .symbol-svg{display:block;width:100%;height:100%}.layer-bar{position:fixed;bottom:var(--edge-gap);left:50%;transform:translate(-50%);max-width:calc(100vw - var(--edge-gap) * 2);display:flex;align-items:stretch;gap:16px;z-index:20}.layer-card{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;width:84px}.layer-preview{width:84px;height:84px;padding:0;border:none;background:var(--thumb-bg);cursor:crosshair;overflow:hidden}.layer-preview .symbol-svg{display:block;width:100%;height:100%}.layer-card.is-hidden .layer-preview{opacity:var(--dim)}.layer-check{display:flex;align-items:center;gap:6px;width:84px;padding:3px 4px;background:none;border:1px solid var(--line);color:var(--text);cursor:crosshair;font:inherit}.layer-check-box{flex:0 0 auto;width:var(--knob);height:var(--knob);border:1px solid var(--ink);border-radius:0%;background:var(--ink)}.layer-card.is-hidden .layer-check-box,.layer-check.is-off .layer-check-box{background:transparent}.layer-check.is-off{color:var(--text-muted)}.layer-check-label{letter-spacing:var(--kern)}@media screen and (min-width:1000px){.info-panel{width:calc(25vw - var(--edge-gap))}}@media screen and (max-width:480px){.layer-bar{bottom:56px;gap:8px}.layer-card,.layer-preview,.layer-check{width:72px}.iterate-btn{bottom:172px}.info-panel{top:0;bottom:0;width:calc(100vw - var(--edge-gap) * 2)}.info-panel p{max-width:none}#stage.info-open .about-btn{display:none}}
