:root{--overlay:rgba(0,0,0,.8)}.demo-controls{align-items:center;display:flex;gap:10px;justify-content:center}.demo-controls button{background:#171717;border:1px solid #2b2b2b;border-radius:8px;color:#fff;cursor:pointer;padding:10px 14px}.demo-controls button:hover{background:#202020}.demo-controls small{color:#aaa}.overlay{align-items:center;background:var(--overlay);display:none;inset:0;justify-content:center;padding:2rem 1rem;position:fixed;top:100px;z-index:999}.overlay.open{display:flex}.neon-modal{border:1px solid #2f2f2f;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.45);display:grid;grid-template-rows:auto 1fr auto;height:100%;max-height:90vh;min-height:80vh;overflow:hidden;width:min(1800px,96vw);@media screen and (min-width:770px){max-height:75svh;min-height:60svh}}.modal-header{background:rgba(50,175,175,.8);border-bottom:1px solid #242424;justify-content:space-between;padding:.75rem 1rem;position:relative}.modal-header,.modal-title{align-items:center;display:flex}.modal-title{font-weight:600;gap:.5rem;letter-spacing:.3px}.badge{background:#121212;border:1px solid #2b2b2b;border-radius:999px;color:#bbb;font-size:.75rem;padding:.15rem .5rem}.close-btn{appearance:none;background:transparent;border:none;border-radius:8px;color:#bbb;cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem .5rem}.close-btn:hover{background:#1b1b1b;color:#fff}.pane{background:rgba(50,175,175,.6);cursor:grab;display:grid;height:100%;max-height:75svh;min-height:40svh;overflow:hidden;place-items:center;position:relative;touch-action:none}.pane:active{cursor:grabbing}.canvas-wrap{position:relative;transform-origin:0 0;will-change:transform}.pane .placeholder,.pane img{display:block;height:auto;max-width:100%;user-select:none;-webkit-user-drag:none;pointer-events:none}.placeholder{border:2px dashed #333;border-radius:12px;color:#aaa;padding:2rem 3rem;text-align:center}.modal-footer{background:rgba(50,175,175,.8);border-top:1px solid #242424;display:grid;gap:var(--gap);grid-template-columns:1fr;min-height:10svh;padding:.75rem}@media (min-width:720px){.modal-footer{align-items:center;grid-template-columns:1fr auto}}.download-box{align-items:center;background:var(--ui-bg);border:1px solid #2b2b2b;border-radius:var(--btn-radius);display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem}.download-box a,.download-box button{appearance:none;background:#d3d3d3;border:1px solid #2b2b2b;border-radius:.7rem;color:#000;cursor:pointer;font-size:1.2rem;padding:.6rem .9rem;text-decoration:none;text-transform:uppercase}.download-box a:hover,.download-box button:hover{background:#1a1a1a;color:#fff}.download-box .meta{font-size:1.5rem;margin-left:auto;white-space:nowrap}.nav-box{align-items:center;background:var(--ui-bg);border-radius:var(--btn-radius);display:flex;gap:.5rem;justify-self:end;padding:.5rem}.icon-btn{appearance:none;background:#141414;border:1px solid #2b2b2b;border-radius:.6rem;color:#fff;cursor:pointer;font-size:1rem;line-height:1;padding:.6rem .8rem}.icon-btn:hover{background:#1a1a1a}.icon-btn[disabled]{cursor:not-allowed;opacity:.5}.hint{background:rgba(0,0,0,.6);border:1px solid #2b2b2b;border-radius:999px;bottom:.75rem;color:#cfcfcf;font-size:.8rem;left:50%;padding:.3rem .65rem;pointer-events:none;position:absolute;transform:translateX(-50%);user-select:none}.kbd{background:#161616;border:1px solid #2d2d2d;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:0 .35rem}.sr-only{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.neon-image-viewer-open.hide-link-style{background:none!important;border:none!important;color:transparent!important;content:""!important;outline:none!important}.neon-image-viewer-open.hide-link-style:hover{background:none;border:none;color:transparent!important;outline:none}.neon-image-viewer-open.hide-link-style:focus{outline:none}.neon-modal .hidden{display:none!important}.overlay .neon-modal,.overlay .neon-modal .modal-footer,.overlay .neon-modal .modal-header,.overlay .neon-modal .modal-title,.overlay .neon-modal .pane{display:none}.overlay.open .neon-modal,.overlay.open .neon-modal .modal-footer,.overlay.open .neon-modal .modal-header,.overlay.open .neon-modal .pane{display:grid}.overlay.open .neon-modal .modal-title{display:flex}