/* Build your own package: the layer editor. Big, clear type and roomy controls (readable for everyone, dyslexia friendly). */
html.ed-on,html.ed-on body{overflow:hidden}
#ed{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr);background:#0b0d10;color:#fff;font-family:var(--body,Arial,sans-serif);font-size:16px;line-height:1.45}
#ed[hidden]{display:none}
#ed button,#ed input,#ed select{font-family:inherit}
.ed-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;border-bottom:1px solid #2b3037;background:#0e1012}
.ed-bar h2{margin:0;font-family:var(--display,Arial,sans-serif);font-size:26px;letter-spacing:.05em;text-transform:uppercase}
#edScr{margin-right:auto;color:#fac26a;font-weight:700;font-size:18px}
.eb{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:10px;border:1px solid #3d444e;background:#16191d;color:#fff;font-weight:600;font-size:15px;cursor:pointer;line-height:1.2;text-align:center}
.eb:hover{border-color:#fac26a}.eb:disabled{opacity:.45;cursor:default}
.eb.pri{background:#fac26a;border-color:#fac26a;color:#1a1205;font-weight:700}
.eb.bad{border-color:#ff8a80;color:#ffd2cc}
.eb.wide{display:flex;width:100%;margin:0 0 8px}.eb.sm{min-height:34px;font-size:14px;padding:0 10px}
.eb[aria-pressed=true]{background:#fac26a;border-color:#fac26a;color:#1a1205}
.ed-tk{display:inline-flex;align-items:center;gap:8px;margin:6px 14px 6px 0;font-weight:600;cursor:pointer}
.ed-tk input{width:20px;height:20px;accent-color:#fac26a}
.ed-main{display:grid;grid-template-columns:300px minmax(0,1fr) 340px;min-height:0}
.ed-add,.ed-side{min-height:0;min-width:0;overflow:auto;overflow-x:hidden;padding:14px;background:#0e1012}
.ed-add{border-right:1px solid #2b3037}.ed-side{border-left:1px solid #2b3037}
.ed-add h3,.ed-side h3{margin:16px 0 8px;font-family:var(--display,Arial,sans-serif);font-size:20px;letter-spacing:.05em;text-transform:uppercase;color:#fac26a}
.ed-side h3:first-child{margin-top:0}
.ed-hint{margin:0 0 10px;color:#c0cfe0;font-size:15px}
.ed-msg{margin:8px 0 0;color:#8be0a4;font-size:15px}.ed-msg:empty{display:none}
.ed-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 12px}
.ed-tabs button{appearance:none;min-height:40px;border-radius:8px;border:1px solid #3d444e;background:transparent;color:#fff;font-weight:600;font-size:14px;cursor:pointer;padding:0 4px}
.ed-tabs button[aria-selected=true]{background:#fac26a;border-color:#fac26a;color:#1a1205}
.ed-cats{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px}
.ed-cats button{appearance:none;padding:6px 11px;border-radius:999px;border:1px solid #3d444e;background:#16191d;color:#fff;font-weight:600;font-size:14px;cursor:pointer}
.ed-cats button[aria-pressed=true]{background:#fac26a;border-color:#fac26a;color:#1a1205}
.ed-lb{display:block;margin:12px 0 5px;font-weight:600;font-size:15px}
#ed select,#ed input[type=text]{width:100%;min-height:42px;padding:0 10px;border-radius:10px;border:1px solid #3d444e;background:#16191d;color:#fff;font-size:15px}
.ed-parts,.ed-ups{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.ed-pt{appearance:none;display:block;width:100%;padding:0;border-radius:10px;border:2px solid #3d444e;background:repeating-conic-gradient(#2a2e35 0 25%,#22262c 0 50%) 0 0/16px 16px;color:#fff;cursor:grab;overflow:hidden;text-align:left}
.ed-pt:hover{border-color:#fac26a}
.ed-pt img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;padding:6px;box-sizing:border-box}
.ed-pt small{display:block;padding:3px 6px 5px;background:#16191d;color:#c0cfe0;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-up{display:grid;gap:4px}
.ed-stage-w{min-width:0;min-height:0;overflow:auto;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ed-stage{position:relative;width:100%;max-width:calc((100vh - 170px) * 16 / 9);aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:repeating-conic-gradient(#2a2e35 0 25%,#22262c 0 50%) 0 0/40px 40px;outline:1px solid #3d444e}
.ed-f{position:absolute;left:0;top:0;width:1920px;height:1080px;border:0;transform-origin:0 0;pointer-events:none;color-scheme:normal}
.ed-ov{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;cursor:default;touch-action:none}
.ed-ov:focus{outline:none}
.ed-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c0cfe0;font-size:18px;pointer-events:none}
.ed-wait[hidden]{display:none}
.ed-cap{margin:10px 0 0;color:#c0cfe0;font-size:15px;max-width:1100px;text-align:center}
.ed-hov,.ed-sel{position:absolute;box-sizing:border-box;pointer-events:none;transform-origin:50% 50%}
.ed-hov{border:3px dashed #8fd3ff}.ed-hov[hidden]{display:none}
.ed-sel{border:4px solid #fac26a;box-shadow:0 0 0 2px rgba(0,0,0,.6)}
.ed-sel[hidden]{display:none}
.ed-sel i,.ed-sel b{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;background:#fac26a;border:3px solid #1a1205;box-sizing:border-box;pointer-events:auto}
.ed-sel b{border-radius:50%;left:50%;top:-56px;cursor:grab}
.ed-sel b::after{content:"";position:absolute;left:50%;top:22px;width:3px;height:34px;margin-left:-1.5px;background:#fac26a}
.ed-sel [data-h=nw]{left:0;top:0;cursor:nwse-resize}.ed-sel [data-h=n]{left:50%;top:0;cursor:ns-resize}.ed-sel [data-h=ne]{left:100%;top:0;cursor:nesw-resize}
.ed-sel [data-h=e]{left:100%;top:50%;cursor:ew-resize}.ed-sel [data-h=se]{left:100%;top:100%;cursor:nwse-resize}.ed-sel [data-h=s]{left:50%;top:100%;cursor:ns-resize}
.ed-sel [data-h=sw]{left:0;top:100%;cursor:nesw-resize}.ed-sel [data-h=w]{left:0;top:50%;cursor:ew-resize}
.ed-g{position:absolute;top:0;width:0;height:1080px;border-left:2px solid #ff4fd8;pointer-events:none}
.ed-g.y{left:0;top:0;width:1920px;height:0;border-left:0;border-top:2px solid #ff4fd8}
.ed-g[hidden]{display:none}
.ed-layers{list-style:none;margin:0 0 6px;padding:0;max-height:42vh;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.ed-layers li{display:flex;gap:4px;min-width:0}
.ed-layers .ed-grp{display:block;margin:8px 0 2px;color:#c0cfe0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ed-layers .ed-sub{padding-left:18px}
.ed-li{appearance:none;flex:1;min-width:0;min-height:38px;padding:0 10px;border-radius:8px;border:1px solid #2b3037;background:#16191d;color:#fff;font-size:15px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-li:hover{border-color:#fac26a}.ed-li[aria-pressed=true]{border-color:#fac26a;background:#2a2111}
.ed-li.ed-ed::after{content:" (changed)";color:#fac26a;font-size:13px}
.ed-eye{appearance:none;min-width:72px;border-radius:8px;border:1px solid #2b3037;background:#16191d;color:#c0cfe0;font-size:13px;cursor:pointer}
.ed-eye[aria-pressed=false]{color:#ff8a80;border-color:#ff8a80}
.ed-props{padding-bottom:20px}
.ed-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ed-nm{display:grid;gap:3px;font-size:14px;font-weight:600}
.ed-nm input{width:100%;min-height:40px;padding:0 8px;border-radius:8px;border:1px solid #3d444e;background:#16191d;color:#fff;font-size:15px}
.ed-rg{display:grid;grid-template-columns:110px 1fr 56px;align-items:center;gap:8px;margin:8px 0 0;font-size:14px;font-weight:600}
.ed-rg input{width:100%;accent-color:#fac26a}.ed-rg output{text-align:right;color:#c0cfe0;font-size:14px}
.ed-sw{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ed-sw button{appearance:none;width:36px;height:36px;border-radius:50%;border:2px solid #3d444e;cursor:pointer;padding:0}
.ed-sw button[aria-pressed=true]{outline:3px solid #fac26a;outline-offset:2px}
.ed-sw .ed-none{width:auto;height:36px;padding:0 12px;border-radius:999px;background:#16191d;color:#fff;font-size:14px;font-weight:600}
.ed-sw input[type=color]{width:44px;height:36px;padding:0;border:1px solid #3d444e;border-radius:8px;background:#16191d;cursor:pointer}
.ed-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:1100px){.ed-main{grid-template-columns:1fr;grid-auto-rows:auto;overflow:auto}.ed-add,.ed-side{max-height:none;border:0}.ed-stage-w{order:-1}.ed-stage{max-width:100%}}

/* Simple mode (the default) hides the fine settings; Advanced hides the help */
#ed.ed-simple .adv,#ed.ed-simple .ed-sel [data-h=rot],#ed.ed-simple .ed-sel [data-h=n],#ed.ed-simple .ed-sel [data-h=e],#ed.ed-simple .ed-sel [data-h=s],#ed.ed-simple .ed-sel [data-h=w]{display:none!important}
#ed.ed-adv .help,#ed.ed-adv .ed-hint{display:none!important}
.ed-mode{margin-left:auto;padding:6px 12px;border:1px solid #3d444e;border-radius:999px}
.ed-steps{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:0 0 8px;padding:0;font-size:18px;font-weight:700;line-height:1.3}
.ed-steps li{display:flex;align-items:center;gap:8px}
.ed-steps b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fac26a;color:#18191b;font-size:17px}
.ed-tip{margin:0 0 10px;min-height:28px;color:#fac26a;font-size:19px;font-weight:700;text-align:center}
.eb.big{min-height:46px;font-size:16px;flex:1}

/* the builder preview behind the editor rests while the editor is open */
html.ed-on #stage{content-visibility:hidden}
