:root{--sheol-orange:#ff6b24;--sheol-blue:#004cfa;--sheol-yellow:#ffe443;--sheol-white:#fff;--sheol-black:#111;--sheol-line:1px solid var(--sheol-black);--sheol-space:8px;--sheol-font:Arial,Helvetica,sans-serif}.sh-panel{border:var(--sheol-line);background:var(--sheol-white);display:block}.sh-button{font:inherit;border:var(--sheol-line);background:var(--sheol-white);min-height:42px;color:var(--sheol-black);cursor:pointer;border-radius:0;justify-content:space-between;align-items:center;gap:24px;padding:10px 19px;transition:background .12s,color .12s;display:inline-flex}.sh-button:hover{background:var(--sheol-black);color:var(--sheol-white)}.sh-button:active{transform:translateY(1px)}.sh-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.sh-button[data-tone=orange]{background:var(--sheol-orange);color:var(--sheol-black)}.sh-button[data-tone=blue]{background:var(--sheol-blue);color:#fff}.sh-button[data-tone=yellow]{background:var(--sheol-yellow);color:var(--sheol-black)}.sh-button[data-tone]:hover{background:var(--sheol-black);color:#fff}.sh-input,.sh-select{box-sizing:border-box;border:var(--sheol-line);width:100%;min-height:44px;color:var(--sheol-black);font:inherit;background:#fff;border-radius:0;padding:12px}.sh-input[aria-invalid=true]{border:2px solid var(--sheol-orange)}.sh-label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font:11px monospace;display:block}.sh-help{margin:8px 0;font:11px monospace}.sh-badge{border:var(--sheol-line);text-transform:uppercase;align-items:center;gap:7px;padding:5px 9px;font:11px monospace;display:inline-flex}.sh-badge[data-tone=blue]{background:var(--sheol-blue);color:#fff}.sh-badge[data-tone=orange]{background:var(--sheol-orange)}.sh-badge[data-tone=yellow]{background:var(--sheol-yellow)}.sh-switch{appearance:none;border:var(--sheol-line);cursor:pointer;background:#fff;border-radius:0;width:44px;height:24px;margin:0;position:relative}.sh-switch:before{content:"";background:var(--sheol-black);width:16px;height:16px;transition:transform .12s;position:absolute;top:3px;left:3px}.sh-switch:checked{background:var(--sheol-blue)}.sh-switch:checked:before{background:#fff;transform:translate(20px)}.sh-range{accent-color:var(--sheol-blue);width:100%}.sh-dialog{border:var(--sheol-line);width:min(440px,100% - 48px);color:var(--sheol-black);padding:0}.sh-dialog::backdrop{background:#00000059}.sh-dialog header,.sh-dialog footer{border-bottom:var(--sheol-line);justify-content:space-between;align-items:center;padding:16px;display:flex}.sh-dialog footer{border-top:var(--sheol-line);border-bottom:0}.sh-dialog section{padding:24px}.sh-button:focus-visible,.sh-input:focus-visible,.sh-select:focus-visible,.sh-switch:focus-visible,.sh-range:focus-visible{outline:2px solid var(--sheol-blue);outline-offset:4px}@media (prefers-reduced-motion:reduce){.sh-button,.sh-switch:before{transition:none}}.sh-panel,.sh-button,.sh-input,.sh-select,.sh-badge,.sh-switch,.sh-dialog,.sh-field,.sh-label,.sh-help{box-sizing:border-box}.sh-panel,.sh-button,.sh-input,.sh-select,.sh-dialog,.sh-field{font-family:var(--sheol-font);font-size:14px}.sh-panel,.sh-field{color:var(--sheol-black)}.sh-dialog *{box-sizing:border-box}.sh-button[data-size=sm]{gap:12px;min-height:34px;padding:6px 12px}.sh-button[data-size=lg]{min-height:50px;padding:12px 24px}.sh-button:hover:disabled,.sh-button[data-tone]:hover:disabled{color:var(--sheol-black);background:var(--sheol-white)}.sh-button[data-tone=orange]:hover:disabled{background:var(--sheol-orange)}.sh-button[data-tone=blue]:hover:disabled{background:var(--sheol-blue);color:var(--sheol-white)}.sh-button[data-tone=yellow]:hover:disabled{background:var(--sheol-yellow)}.sh-button:focus-visible,.sh-input:focus-visible,.sh-select:focus-visible,.sh-switch:focus-visible,.sh-range:focus-visible{box-shadow:0 0 0 2px var(--sheol-white)}.sh-dialog-title{font:400 22px/1.2 var(--sheol-font);letter-spacing:-.5px;margin:0}.sh-dialog-description{margin:0 0 16px;line-height:1.6}.sh-error{font-weight:700}.sh-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{color:var(--sheol-black);background:var(--sheol-white);font-variant-numeric:tabular-nums;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button svg{flex-shrink:0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--sheol-blue);outline-offset:4px}.shell{grid-template:"top top top"88px"tools tools tools""left view right"minmax(0,1fr)"status status status"/264px minmax(320px,1fr) 360px;height:100dvh;display:grid}.topbar{border-bottom:var(--sheol-line);grid-area:top;align-items:stretch;display:flex}.brand{border-right:var(--sheol-line);flex-shrink:0;align-items:center;gap:16px;width:264px;padding:16px;display:flex}.brand strong{letter-spacing:-1.5px;font-size:28px;line-height:.85}.brandIndex{writing-mode:vertical-rl;background:var(--sheol-orange);padding:4px;font:12px monospace}.brand>span:last-child{font:12px/1.3 monospace}.headerMeta{border-right:var(--sheol-line);flex:1;min-width:0;padding:24px}.headerMeta small{margin-bottom:8px;font:12px monospace;display:block}.headerMeta b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.topbar>.sh-badge{flex-shrink:0;align-self:center;margin:16px}.toolbar{border-bottom:var(--sheol-line);flex-wrap:wrap;grid-area:tools;align-items:center;gap:8px;padding:12px 16px;display:flex}.toolbar .quality{align-items:center;gap:8px;font:12px monospace;display:flex}.quality select{width:112px}.seedField{align-items:center;gap:8px;width:140px;display:flex}.seedField .sh-label{margin:0}.seedField input{min-width:0}.panel{min-height:0;overflow:auto}.left{border-right:var(--sheol-line);grid-area:left}.right{border-left:var(--sheol-line);grid-area:right}.module{border:0;padding:16px}.module+.module{border-top:var(--sheol-line)}h2{text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:8px;margin:0 0 16px;font:12px/1.5 monospace;display:flex}h2 i{background:var(--sheol-black);color:var(--sheol-white);padding:4px 6px;font-style:normal}summary{cursor:pointer;text-transform:uppercase;border-bottom:var(--sheol-line);padding:12px 0;font:12px monospace}.preset{grid-template-columns:minmax(0,1fr) auto;gap:4px;margin:8px 0;display:grid}.preset button:first-child{text-align:left}.preset button span{gap:4px;display:grid}.preset small{font:10px monospace}.row{flex-wrap:wrap;gap:4px;margin-top:16px;display:flex}.left .module>button{width:100%;margin-bottom:8px}.checkpoint{grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:4px;margin:8px 0;display:grid}.checkpoint img{object-fit:cover;width:32px;height:32px}button.active{background:var(--sheol-blue);color:var(--sheol-white)}.viewport{background:var(--sheol-white);background-image:radial-gradient(var(--sheol-black) .5px, transparent .5px);background-size:16px 16px;flex-direction:column;grid-area:view;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:auto}.viewportLabel{z-index:2;background:var(--sheol-yellow);border-bottom:var(--sheol-line);letter-spacing:.03em;align-self:stretch;padding:12px 16px;font:11px monospace;position:sticky;top:0}.canvasWrap{flex-shrink:0;margin:auto;padding:32px;position:relative}.canvasWrap canvas{outline:var(--sheol-line);max-width:none;image-rendering:pixelated;display:block}.canvasWrap.isStale canvas{opacity:.65}.staleFlag{background:var(--sheol-yellow);padding:8px;font:11px monospace;position:absolute;top:32px;left:32px}.dropzone{width:min(440px,100% - 48px);margin:auto 24px;padding:32px}.dropzone h1{letter-spacing:-2px;margin:24px 0 16px;font-size:clamp(32px,3vw,52px);font-weight:400;line-height:1}.dropzone p{margin:0 0 24px;font-size:15px;line-height:1.6}.dropzone>small{margin-top:16px;font:11px/1.6 monospace;display:block}.readout{background:var(--sheol-white);margin:8px;padding:8px;font:11px monospace}.viewtools{z-index:2;background:var(--sheol-white);gap:4px;margin:0 16px 16px;display:flex;position:sticky;bottom:16px}.stage{border-bottom:var(--sheol-line);grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:12px 0;display:grid}.stageSelect{text-align:left;grid-area:1/2/auto/7}.stage.active .stageSelect{background:var(--sheol-blue);color:var(--sheol-white)}.stage>button{min-width:0}.stage>button:nth-child(3){grid-column:1/3}.desc{margin-bottom:16px;font-size:14px;line-height:1.5}.control{border-top:var(--sheol-line);grid-template-columns:minmax(0,1fr) 76px;gap:8px;padding:12px 0;display:grid}.control>span{grid-column:1/3;justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.control .sh-switch,.control select,.control textarea,.control input[type=color],.control input:not([type]){grid-column:1/3}.control textarea{resize:vertical;width:100%;min-height:88px}.control input[type=color]{width:100%}.control input[type=number]{padding:8px}.right .module>button{margin:16px 4px 0 0}.status{border-top:var(--sheol-line);background:var(--sheol-black);color:var(--sheol-white);flex-wrap:wrap;grid-area:status;font:11px/1.5 monospace;display:flex}.status span{border-right:1px solid var(--sheol-white);padding:8px}.status span:first-child{background:var(--sheol-orange);color:var(--sheol-black);flex:300px}@media (width<=1150px){.shell{grid-template-columns:232px minmax(280px,1fr) 320px}.brand{width:232px}.brand>span:last-child{display:none}.headerMeta{padding:24px 16px}}@media (width<=950px){.shell{grid-template:"top top""tools tools""view view"62dvh"left right""status status"/minmax(0,1fr) minmax(0,1fr);height:auto;min-height:100dvh}.brand{width:auto}.headerMeta{padding:16px}.headerMeta:nth-child(3){display:none}.topbar>.sh-badge{margin:8px}.panel{border-top:var(--sheol-line);overflow:visible}.left{border-right:0}.viewport{min-height:420px}.dropzone{margin:24px}}@media (width<=600px){.shell{grid-template:"top""tools""view"560px"right""left""status"/minmax(0,1fr)}.topbar{flex-wrap:wrap}.brand{border-right:0;flex:1}.headerMeta{display:none}.toolbar{gap:8px;padding:12px}.toolbar .sh-button{flex-grow:1}.toolbar .quality,.seedField{flex:140px}.quality select{flex:1}.right{border-left:0}.dropzone{padding:24px}.viewportLabel{font-size:10px}.viewtools .sh-button{min-width:48px}.stage{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
